WO2024085461A1 - 번역 서비스를 제공하기 위한 전자 장치 및 방법 - Google Patents

번역 서비스를 제공하기 위한 전자 장치 및 방법 Download PDF

Info

Publication number
WO2024085461A1
WO2024085461A1 PCT/KR2023/014000 KR2023014000W WO2024085461A1 WO 2024085461 A1 WO2024085461 A1 WO 2024085461A1 KR 2023014000 W KR2023014000 W KR 2023014000W WO 2024085461 A1 WO2024085461 A1 WO 2024085461A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
processor
source sentence
image
sentence
Prior art date
Application number
PCT/KR2023/014000
Other languages
English (en)
French (fr)
Inventor
장한근
백승규
원대연
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220145275A external-priority patent/KR20240054124A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of WO2024085461A1 publication Critical patent/WO2024085461A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/263Language identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means

Definitions

  • Machine translation can mean translation automated by a computer.
  • Machine translation can be classified into rule-based machine translation, example-based machine translation, statistics-based machine translation, and artificial neural network-based machine translation.
  • artificial neural network machine translation can have higher accuracy than other machine translations.
  • an electronic device may include a memory, a communication circuit, and at least one processor.
  • the at least one processor may be configured to acquire an image including a source sentence of a first language type.
  • the at least one processor based on acquiring the image, sets the source sentence as an input value of the first model, and sets the source sentence as an output value of the first model, at least one of the plurality of expert engines. It can be set to obtain specialized engine selection information for selecting an engine.
  • the at least one processor based on acquiring the image, sets the image as an input value of a second model that is distinct from the first model, thereby generating a feature point of the image as an output value of the second model. Can be set to identify information.
  • the at least one processor corresponds to the source sentence based on transmitting the source sentence, the expert engine selection information, and the feature point information to an external electronic device connected to the electronic device, and the plurality of expert engines. It may be set to receive a target sentence of a second language type, obtained based on a sentence style according to the source sentence, through at least one expert engine.
  • a method of an electronic device may include an operation of acquiring an image including a source sentence of a first language type.
  • the method includes, based on obtaining the image, setting the source sentence as an input value of a first model, thereby selecting at least one expert engine among a plurality of expert engines as an output value of the first model. It may include an operation of acquiring specialized engine selection information to do the following.
  • the method based on acquiring the image, sets the image as an input value of a second model that is distinct from the first model, and identifies feature point information of the image as an output value of the second model.
  • the method is based on transmitting the source sentence, the expert engine selection information, and the feature point information to an external electronic device connected to the electronic device, corresponding to the source sentence, and at least one of the plurality of expert engines. It may include an operation of receiving a target sentence of a second language type, obtained based on a sentence style according to the source sentence, through an expert engine of .
  • a non-transitory computer readable storage medium may store one or more programs.
  • the one or more programs may include instructions that, when executed by a processor of the electronic device with memory and communication circuitry, cause the electronic device to obtain an image containing a source sentence of a first language type.
  • the one or more programs When executed by the processor of the electronic device, the one or more programs, based on acquiring the image, set the source sentence as an input value of the first model to an output value of the first model. and instructions that cause the electronic device to obtain expert engine selection information for selecting at least one expert engine from among the expert engines.
  • the one or more programs when executed by the processor of the electronic device, based on acquiring the image, set the image as an input value of a second model that is distinct from the first model, thereby creating the second model.
  • the output value of may include instructions that cause the electronic device to identify feature point information of the image.
  • the one or more programs, when executed by a processor of the electronic device are based on transmitting the source sentence, the expert engine selection information, and the feature point information to an external electronic device connected to the electronic device, Correspondingly, instructions for causing the electronic device to receive, through at least one expert engine of the plurality of expert engines, a target sentence of a second language type, obtained based on a sentence style according to the source sentence. can do.
  • FIG. 1 is a block diagram of an electronic device in a network environment according to an embodiment.
  • Figure 2 is a simplified block diagram of an electronic device according to an embodiment.
  • Figure 3 shows an example of an operation of an electronic device according to an embodiment.
  • FIG. 4 shows an example of a translation engine including a plurality of expert engines according to an embodiment.
  • Figure 5 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • Figure 6 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • Figure 7 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • Figure 8 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • Figure 9 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • Figure 10 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • Figure 11 shows a flowchart of the operation of an electronic device according to an embodiment.
  • FIG. 1 is a block diagram of an electronic device in a network environment, according to one embodiment.
  • the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • a first network 198 e.g., a short-range wireless communication network
  • a second network 199 e.g., a long-distance wireless communication network.
  • the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197.
  • at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101.
  • some of these components e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.
  • the processor 120 for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • software e.g., program 140
  • the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132.
  • the commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • the processor 120 includes a main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
  • a main processor 121 e.g., a central processing unit or an application processor
  • auxiliary processor 123 e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
  • the electronic device 101 includes a main processor 121 and a secondary processor 123
  • the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can.
  • the auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.
  • the auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled.
  • co-processor 123 e.g., image signal processor or communication processor
  • may be implemented as part of another functionally related component e.g., camera module 180 or communication module 190. there is.
  • the auxiliary processor 123 may include a hardware structure specialized for processing artificial intelligence models.
  • Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108).
  • Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
  • An artificial intelligence model may include multiple artificial neural network layers.
  • Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above.
  • artificial intelligence models may additionally or alternatively include software structures.
  • the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto.
  • Memory 130 may include volatile memory 132 or non-volatile memory 134.
  • the program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142, middleware 144, or application 146.
  • the input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user).
  • the input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
  • the sound output module 155 may output sound signals to the outside of the electronic device 101.
  • the sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback.
  • the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
  • the display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user).
  • the display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device.
  • the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.
  • the audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).
  • the electronic device 102 e.g., speaker or headphone
  • the sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
  • the interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card interface
  • audio interface audio interface
  • connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 can capture still images and moving images.
  • the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 can manage power supplied to the electronic device 101.
  • the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101.
  • the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
  • processor 120 e.g., an application processor
  • the communication module 190 is a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included.
  • a wireless communication module 192 e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 e.g., : LAN (local area network) communication module, or power line communication module
  • the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network
  • the wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199.
  • subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology).
  • NR access technology provides high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low latency). -latency communications)) can be supported.
  • the wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates.
  • the wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna.
  • the wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199).
  • the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
  • Peak data rate e.g., 20 Gbps or more
  • loss coverage e.g., 164 dB or less
  • U-plane latency e.g., 164 dB or less
  • the antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB).
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected to the plurality of antennas by, for example, the communication module 190. can be selected. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
  • other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 197.
  • RFIC radio frequency integrated circuit
  • the antenna module 197 may form a mmWave antenna module.
  • a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
  • a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side)
  • peripheral devices e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • signal e.g. commands or data
  • commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199.
  • Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101.
  • all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108.
  • the electronic device 101 may perform the function or service instead of executing the function or service on its own.
  • one or more external electronic devices may be requested to perform at least part of the function or service.
  • One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101.
  • the electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology can be used.
  • the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an Internet of Things (IoT) device.
  • Server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 104 or server 108 may be included in the second network 199.
  • the electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
  • an electronic device may provide a translation service.
  • the electronic device may identify the domain associated with the translation target (e.g., word, sentence, or paragraph).
  • the electronic device may provide a translation service using an expert engine according to the identified domain.
  • operations of an electronic device for identifying a domain related to a translation target and providing a translation service using a specialized engine based on the identified domain may be described.
  • Figure 2 is a simplified block diagram of an electronic device according to an embodiment.
  • the electronic device 200 may include some or all of the components of the electronic device 101 shown in FIG. 1 .
  • electronic device 200 may correspond to electronic device 101 in FIG. 1 .
  • the electronic device 200 may include a processor 210, a memory 220, a communication circuit 230, and/or a camera 240.
  • the electronic device 200 may include at least one of a processor 210, a memory 220, a communication circuit 230, and a camera 240.
  • the processor 210, memory 220, communication circuit 230, and camera 240 may be omitted depending on the embodiment.
  • the electronic device 200 may include a processor 210.
  • the processor 210 may be operatively or operably coupled with or connected with the memory 220, the communication circuit 230, and the camera 240.
  • the processor 210 is operatively coupled or connected to the memory 220, the communication circuit 230, and the camera 240, meaning that the processor 210 is the memory 220, the communication circuit ( 230), and it may mean that the camera 240 can be controlled.
  • the processor 210 may control the memory 220, the communication circuit 230, and the camera 240. Memory 220, communication circuit 230, and camera 240 may be controlled by processor 210.
  • the processor 210 may be comprised of at least one processor.
  • processor 210 may include at least one processor.
  • processor 210 may correspond to processor 120 of FIG. 1 .
  • the processor 210 may include hardware components for processing data based on one or more instructions.
  • Hardware components for processing data may include, for example, an arithmetic and logic unit (ALU), a field programmable gate array (FPGA), and/or a central processing unit (CPU).
  • ALU arithmetic and logic unit
  • FPGA field programmable gate array
  • CPU central processing unit
  • the electronic device 200 may include a memory 220.
  • memory 220 may be used to store one or more programs.
  • One or more programs may include instructions that, when executed by the processor 210 of the electronic device 200, cause the electronic device 200 to perform a predefined operation.
  • memory 220 may correspond to memory 130 of FIG. 1 .
  • memory 220 may be a volatile memory unit or units.
  • memory 220 may be a non-volatile memory unit or units.
  • memory 220 may be another form of computer-readable medium, such as a magnetic or optical disk.
  • the memory 220 may store data obtained based on an operation performed by the processor 210 (eg, an algorithm execution operation).
  • the electronic device 200 may include a communication circuit 230.
  • communication circuit 230 may correspond to at least a portion of communication module 190 of FIG. 1 .
  • communication circuitry 230 may be used for various radio access technologies (RATs).
  • RATs radio access technologies
  • communications circuitry 230 may be used to perform cellular communications.
  • the communication circuit 230 may be used to perform Bluetooth (Bluetooth) communication, wireless local area network (WLAN) communication, or ultra wideband (UWB) communication.
  • Bluetooth Bluetooth
  • WLAN wireless local area network
  • UWB ultra wideband
  • the electronic device 200 may include a camera 240.
  • camera 240 may be used to acquire images.
  • the processor 210 may use the camera 240 to obtain an image including the source sentence.
  • the processor 210 may use the camera 240 to display a preview image including the source sentence.
  • Figure 3 shows an example of an operation of an electronic device according to an embodiment.
  • the processor 210 of the electronic device 200 may identify an image containing a source sentence.
  • the processor 210 may capture an image using the camera 240 to identify an image containing a source sentence.
  • the processor 210 may identify an image stored in the memory 220 that includes the source sentence in the gallery.
  • the processor 210 may identify the source sentence included in the identified image. For example, the processor 210 may identify the source sentence included in the identified image using optical character recognition (OCR). For example, the processor 210 may identify the language type of the source sentence included in the identified image. For example, the processor 210 may identify the language type (hereinafter, source language type) of the source sentence as 'English (EN)'. Depending on the embodiment, the processor 210 may receive a user input for setting the source language type from the user of the electronic device 200. Processor 210 may identify the source language type based on user input.
  • OCR optical character recognition
  • the processor 210 may identify the language type of the source sentence included in the identified image.
  • the processor 210 may identify the language type (hereinafter, source language type) of the source sentence as 'English (EN)'.
  • the processor 210 may receive a user input for setting the source language type from the user of the electronic device 200. Processor 210 may identify the source language type based on user input.
  • the processor 210 may identify the target language type as 'Korean (KR)'. For example, the processor 210 may identify the target language type based on user input received from the user of the electronic device 200. Depending on the embodiment, the target language type may be set as the default language type of the electronic device 200.
  • KR 'Korean
  • the processor 210 may set the source language type, target language type, and source sentence as input values of the translation engine 301.
  • translation engine 301 may be configured with a designated model based on artificial intelligence.
  • a specified model may be indicated by multiple parameters.
  • the processor 210 may set the source language type, target language type, and source sentence as input values of the translation engine 301 (or a designated model).
  • the translation engine 301 may be configured in an external electronic device that is different from the electronic device 200.
  • the processor 210 may set the source language type, target language type, and source sentence as input values of the translation engine 301 by transmitting the source language type, target language type, and source sentence to an external electronic device.
  • the translation engine 301 may be configured within the electronic device 200.
  • the processor 210 may set the source language type, target language type, and source sentence as input values of the translation engine 301 configured in the electronic device 200.
  • the translation engine 301 may be configured based on a transformer engine.
  • the translation engine 301 may be used to process combinations of a plurality of frequently used words (or sentences).
  • the processor 210 may use a different translation engine that is distinct from the translation engine 301 to provide services for combinations of a plurality of less frequently used words (or sentences, or languages).
  • other translation engines may be included within external servers.
  • the transformer engine for configuring the translation engine 301 is an example, and depending on the embodiment, the translation engine 301 may be configured based on various engines as well as the transformer engine.
  • the processor 210 may obtain a target sentence corresponding to the source sentence through the translation engine 301.
  • the language type of the target sentence may be set to the target language type (eg, Korean).
  • the processor 210 may display the obtained target sentence.
  • the processor 210 may display the acquired target sentence together with the acquired image.
  • the processor 210 may convert the source sentence into a target sentence in an image including the source sentence and display it.
  • a designated model constituting the translation engine 301 converts a source sentence into a target sentence (or change) can be made.
  • Translation of source sentences requiring a specified format, source sentences (or words, or phrases) pertaining to a specified technical field, and source sentences in a specified writing style may not be performed properly.
  • a translation engine for performing translation of source sentences requiring a specified format, source sentences (or words, phrases) pertaining to a specified technical field, and source sentences of a specified writing style may be described below.
  • FIG. 4 shows an example of a translation engine including a plurality of expert engines according to an embodiment.
  • the processor 210 of the electronic device 200 may convert a source sentence of a first language type into a target sentence of a second language type using the translation engine 400.
  • a plurality of instructions for the translation engine 400 may be stored in the memory 220 of the electronic device 200.
  • the processor 210 may convert a source sentence of a first language type into a target sentence of a second language type based on executing a plurality of instructions for the translation engine 400.
  • the translation engine 400 may operate based on domain (or field).
  • translation engine 400 may include a plurality of specialized engines 430.
  • Each of the plurality of expert engines 430 may be activated according to the domain related to the source sentence.
  • the first expert engine 430-1 may be associated with the first domain. Based on identifying that the source sentence is related to the first domain, the first expert engine 430-1 may be activated.
  • the plurality of professional engines 430 include a domain-related professional engine for conversational writing, a domain-related professional engine for novels, a domain-related professional engine for legal documents, a domain-related professional engine for medical documents, and domain-related specialized engines for engineering documents.
  • the plurality of expert engines 430 may include expert engines related to domains for sentence styles.
  • Sentence styles may include at least one of nuance, word, and context.
  • the domain is a document format. It may include at least one of a field and a visual feature.
  • words of the source sentence may be sequentially set as input values of the translation engine 400.
  • the processor 210 may identify the target sentence based on the translation engine 400 including a plurality of specialized engines 430.
  • the processor 210 may use the translation engine 400 to identify a domain related to the target sentence.
  • Processor 210 may identify the target sentence using an expert engine related to the identified domain.
  • the processor 210 may identify (or obtain) a target sentence corresponding to the source sentence based on operations 401 to 407.
  • processor 210 may embed the source sentence. For example, the processor 210 may change at least one word included in the source sentence into at least one vector based on embedding the source sentence. The processor 210 may change at least one word into at least one vector by projecting at least one word included in the source sentence into the vector space.
  • the processor 210 may convert at least one vector according to the distribution of a plurality of expert engines using an encoder.
  • the processor 210 may obtain expert engine selection information using a dense layer and an activation function.
  • the specialized engine selection information may include information for selecting at least one specialized engine among the plurality of specialized engines 430.
  • the expert engine selection information may include information about the probability for selecting at least one expert engine related to the domain for the source sentence.
  • the specialized engine selection information may include information about a distribution (or probability distribution) for selection of a plurality of specialized engines 430.
  • processor 210 may embed the previous target sentence.
  • the processor 210 may embed the previous target sentence corresponding to the previous source sentence input before the source sentence to be translated.
  • the processor 210 may identify words to focus on within the source sentence using an attention function and a feed forward network (FNN).
  • FNN feed forward network
  • the processor 210 may set the expert engine selection information and the data according to operation 405 as an input value for at least one expert engine among the plurality of expert engines 430.
  • the processor 210 may identify the maximum value of the probability for selection of the plurality of expert engines 430 using the argmax function.
  • the processor 210 may activate at least one expert engine among the plurality of expert engines 430 based on the maximum probability for selection of the plurality of expert engines 430 .
  • the processor 210 may sequentially set at least one word included in the source sentence as an input value for at least one expert engine.
  • the processor 210 may identify words constituting the target sentence using a logit function.
  • the processor 210 may identify the target sentence by combining the words that make up the target sentence. For example, processor 210 may identify a target sentence of the second language type that corresponds to the source sentence.
  • Figure 5 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • a system 550 for providing a translation service may include an electronic device 200 and an external electronic device 500.
  • the electronic device 200 may include a domain identification engine 510.
  • the processor 210 of the electronic device 200 may use the domain identification engine 510 to obtain (or identify) information indicating at least one of the plurality of specialized engines 430.
  • the external electronic device 500 may include a plurality of specialized engines 430.
  • Each of the plurality of specialized engines 430 may be composed of a plurality of translation circuits 520.
  • the first translation circuit 520-1 includes the first expert engine 430-1 and components for converting the input and output values of the first expert engine 430-1 (e.g., logical components ( or module)).
  • the second translation circuit 520-2 may include the second expert engine 430-2 and components for converting input and output values of the second expert engine 430-2.
  • the processor 210 may independently train or execute a plurality of translation circuits 520.
  • the external electronic device 500 may be referred to as a server for providing translation services.
  • the processor 210 of the electronic device 200 may determine whether to operate at least one of the plurality of expert engines 430.
  • the processor 210 may set the source sentence as an input value of the domain identification engine 510.
  • the processor 210 may identify at least one domain related to the source sentence using the output value of the domain identification engine 510.
  • a source sentence may be domain-related for a medical document.
  • the processor 210 can identify the domain for the medical document using the output value of the domain identification engine 510.
  • the processor 210 may identify at least one expert engine (eg, the first expert engine 430-1) related to a domain for medical documents among the plurality of expert engines 430.
  • the processor 210 may obtain information indicating at least one of the plurality of expert engines 430 (e.g., one of the plurality of expert engines 430) based on the source sentence. there is.
  • the processor 210 may transmit information indicating at least one of the plurality of specialized engines 430 and a source sentence to the external electronic device 500.
  • information indicating at least one of the plurality of specialized engines 430 may be composed of a simplified label.
  • information indicating at least one of the plurality of specialized engines 430 may include information for setting output values of the remaining engines among the plurality of specialized engines 430 to 0.
  • the external electronic device 500 may receive information indicating at least one of the plurality of specialized engines 430 and a source sentence from the electronic device 200.
  • the external electronic device 500 may activate at least one of the plurality of specialized engines 430.
  • the electronic device 200 may set the output values of the remaining specialized engines, excluding at least one of the plurality of specialized engines 430, to 0.
  • the external electronic device 500 may set the source sentence as an input value of at least one of the plurality of expert engines 430.
  • the external electronic device 500 may identify output values of at least one of the plurality of specialized engines 430.
  • the external electronic device 500 may identify the target sentence based on the output values of at least one of the plurality of expert engines 430.
  • the external electronic device 500 may transmit the identified target sentence to the electronic device 200.
  • the processor 210 may obtain a target sentence corresponding to the source sentence by receiving the target sentence from the external electronic device 500.
  • the sentence style of the target sentence may correspond to the sentence style of the source sentence.
  • the processor 210 may use the selected expert engine to identify a target sentence that reflects the sentence style of the source sentence.
  • the processor 210 may identify a target sentence that reflects the connotation of the source sentence, words according to the domain of the source sentence, and the context of the source sentence.
  • the processor 210 may select at least one (or one) of the plurality of expert engines 430 and transmit the selected result to the external electronic device 500.
  • the processor 210 may not transmit the probability for selecting at least one expert engine among the plurality of expert engines 430 to the external electronic device 500, but may transmit the selected result to the external electronic device 500. there is.
  • Figure 6 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • a system 600 for providing a translation service may include an electronic device 200 and an external electronic device 500.
  • the electronic device 200 may include a specialized engine selection engine 610.
  • the processor 210 of the electronic device 200 may use the expert engine selection engine 610 to obtain (or identify) expert engine selection information.
  • the processor 210 of the electronic device 200 may identify the translation target.
  • the translation target may include multiple source sentences.
  • the processor 210 may identify expert engine selection information based on a translation target that includes a plurality of source sentences.
  • the processor 210 may set the input value of the expert engine selection engine 610 as a translation target.
  • the processor 210 may sequentially input a plurality of source sentences into the expert engine selection engine 610.
  • the processor 210 may identify expert engine selection information based on sequentially inputting a plurality of source sentences into the expert engine selection engine 610.
  • specialized engine selection information may be configured in the form of time series data according to a plurality of sequentially input source sentences.
  • the processor 210 may transmit a translation target including full-text engine selection information and a plurality of source sentences to the external electronic device 500.
  • the processor 210 may compress a translation target including full-text engine selection information and a plurality of source sentences.
  • the processor 210 may compress a translation target including expert model selection information and a plurality of source sentences based on state transition probability bias. If the nature (or type) of the translation target is clear, there may be a high probability that the domain will remain the same for each word (or sentence). Accordingly, the processor 210 may compress a translation target including full-text engine selection information and a plurality of source sentences based on a variable coding method that operates adaptively using the stochastic bias of state transitions.
  • the processor 210 may update an engine for expert engine selection based on a context-based adaptive binary arithmetic coding (CABAC) technique.
  • CABAC context-based adaptive binary arithmetic coding
  • the processor 210 may compress the translation object including the full text engine selection information and the plurality of source sentences based on imparting advantageous variable length codes.
  • the processor 210 may transmit compressed translation target information including full text engine selection information and a plurality of source sentences to the external electronic device 500 .
  • the processor 210 may transmit compressed information to the external electronic device 500 in order to reduce the size of information transmitted to the external electronic device 500.
  • the specialized engine selection information may include information for activating at least one of the plurality of specialized engines 430.
  • processor 210 may identify remaining expert engines that are not authorized or are not associated with the translation target.
  • the processor 210 may identify expert engine selection information including information for activating at least one expert engine, excluding the remaining expert engines, among the plurality of expert engines 430 .
  • the processor 210 can determine whether to operate each of the plurality of specialized engines 430 by identifying specialized engine selection information.
  • the processor 210 may control whether each of the plurality of specialized engines 430 included in the external electronic device 500 operates.
  • the plurality of expert engines 430 may operate based on a subscription service.
  • the processor 210 may deactivate unsubscribed expert engines (or unauthorized expert engines) among the plurality of expert engines 430 .
  • the processor 210 may control the operation of specialized engines related to domains that are sensitive to the user of the electronic device 200 (eg, a domain for religion, a domain for human rights).
  • the external electronic device 500 may receive specialized engine selection information and compressed translation target information from the electronic device 200.
  • the external electronic device 500 may identify at least one of the plurality of full-text engines 430 based on the full-text engine selection information and the translation target compressed information.
  • the external electronic device 500 may identify output values of at least one of the plurality of specialized engines 430.
  • the external electronic device 500 may identify a plurality of target sentences based on the output values of at least one of the plurality of expert engines 430.
  • the external electronic device 500 may transmit a plurality of identified target sentences to the electronic device 200.
  • the processor 210 may obtain a plurality of target sentences corresponding to a plurality of source sentences by receiving a plurality of target sentences from the external electronic device 500.
  • the external electronic device 500 may activate at least one of the plurality of full-text engines 430 based on full-text engine selection information and compressed translation target information.
  • the electronic device 200 may set the output values of the remaining specialized engines, excluding at least one of the plurality of specialized engines 430, to 0.
  • the external electronic device 500 may identify a previous target sentence to obtain a plurality of target sentences.
  • the external electronic device 500 may identify the target sentence using the previous target sentence, source sentence, and expert engine selection information.
  • a previous target sentence may be used.
  • the sentence style (e.g., tone, vocabulary, and context) of the target sentence may correspond to the sentence style of the previous target sentence.
  • the processor 210 of the electronic device 200 may divide source information including full-text engine selection information and source sentences and transmit it to the external electronic device 500.
  • the external electronic device 500 may store divided source information in a buffer.
  • the external electronic device 500 may identify the target sentence based on the divided source information.
  • the processor 210 may divide only the full text engine selection information and the source sentence and transmit it to an external electronic device.
  • the external electronic device 500 may divide the source sentence into a plurality of blocks.
  • One block may consist of at least one word.
  • the external electronic device 500 may set the block as an input value for at least one of the plurality of specialized engines 430.
  • the external electronic device 500 may identify translation results for a plurality of blocks by sequentially setting the plurality of blocks as an input value of at least one of the plurality of expert engines 430.
  • the external electronic device 500 may identify the target sentence by combining translation results for a plurality of blocks.
  • Figure 7 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • a system 700 for providing a translation service may include an electronic device 200 and an external electronic device 500.
  • the electronic device 200 may include a vision information identification engine 710.
  • the processor 210 of the electronic device 200 may use the vision information identification engine 710 to obtain (or identify) at least one parameter related to the image.
  • the processor 210 may acquire an image.
  • the acquired image may be related to the source sentence.
  • the acquired image may include a source sentence.
  • the acquired image may represent the environment related to the source sentence.
  • the acquired image may include an object including a source sentence and at least one object for the external environment.
  • the processor 210 may identify an image for a newspaper.
  • the acquired image of a newspaper may include at least one of an object representing an article, an object representing an advertisement, and an object representing the name of a newspaper.
  • the processor 210 may set the acquired image as an input value (or input data) of the vision information identification engine 710.
  • the processor 210 may identify at least one parameter with the output value of the vision identification engine 710.
  • the processor 210 may transmit at least one parameter and a source sentence to the external electronic device 500.
  • the processor 210 may identify the domain using the vision identification engine 710 based on the acquired image.
  • the processor 210 may use the vision identification engine 710 to identify (or obtain) a parameter (or at least one parameter) for activating an expert engine according to the identified domain.
  • the processor 210 may transmit the identified parameter (or at least one parameter) to the external electronic device 500.
  • the processor 210 may acquire an image according to SNS (social network service).
  • the processor 210 may identify that the acquired image is related to a domain for SNS (or a domain for conversational language).
  • the processor 210 may transmit parameters for activating a specialized engine related to a domain for SNS (or a domain for conversational language) to the external electronic device 500.
  • the processor 210 may identify that the acquired image is related to a domain for a thesis paper (or a domain for a designated study).
  • the processor 210 may transmit parameters for activating an expert engine related to a domain for a thesis to the external electronic device 500.
  • the processor 210 may identify a plurality of objects included in the acquired image, based on the acquired image.
  • the processor 210 may identify a plurality of labels corresponding to each of the plurality of objects.
  • the acquired image may identify an object representing a calendar and the source word indicated as “SUN” within the calendar.
  • Processor 210 may identify a parameter indicating a “calendar” label, depending on the object representing the calendar.
  • the processor 210 may transmit a parameter indicating a “calendar” label along with a source word indicated as “SUN” to the external electronic device 500.
  • the processor 210 may transmit to the external electronic device 500 a parameter indicating a label of one of "sunrise,” “crowd,” and “in the forest,” along with a source word indicated as “SUN.” there is.
  • the processor 210 may obtain (or identify) parameters for determining a line break policy.
  • the processor 210 may identify at least one word constituting the source sentence included in the image.
  • Processor 210 may identify the location of at least one word.
  • the processor 210 may obtain (or identify) parameters for determining a newline policy based on the position (or line) of at least one word and the image (or a plurality of objects included in the image). there is.
  • the processor 210 may transmit parameters for determining a newline policy to the external electronic device 500.
  • the external electronic device 500 may convert (or change) a source sentence to which a newline policy is not applied into a source sentence to which a newline policy is applied.
  • the processor 210 may acquire an image for a newspaper article.
  • the processor 210 may identify the location (or row) of at least one word constituting the source sentence included in the image.
  • Processor 210 may identify, based on the image, that the source sentence represents the title of the article.
  • the processor 210 may transmit parameters for determining a newline policy to the external electronic device 500. Parameters for determining the newline policy may include information that the source sentence indicates the title of the article.
  • the processor 210 may transmit at least one parameter acquired based on the image to the external electronic device 500 without transmitting the acquired image to the external electronic device 500. According to one embodiment, the processor 210 may reduce network traffic by transmitting at least one parameter obtained based on the image to the external electronic device 500.
  • the processor 210 uses at least one parameter acquired based on the image through a direct channel between the electronic device 200 and the attention layer (layer where the attention function is executed) of the external electronic device 500. It can be transmitted to the external electronic device 500 through a direct channel (or communication path).
  • the processor 210 may set at least one expert engine for changing a source sentence into a target sentence among the plurality of expert engines 430 using at least one parameter.
  • the external electronic device 500 uses the at least one parameter to You must perform learning via type (e.g. English), or learn at least one parameter consisting of the source language type. Therefore, when representative language types are used, differences between some language types may affect the target sentence (or translation result), and when at least one parameter consisting of the source language type is learned, a specialized engine for each language is used. Individual study may be necessary. Accordingly, in FIG. 8, an embodiment in which a target sentence is obtained based on the electronic device 200 transmitting information about at least one feature point and a source sentence to the external electronic device 500 may be described.
  • Figure 8 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • a system 800 for providing a translation service may include an electronic device 200 and an external electronic device 500.
  • the electronic device 200 may include a vision information identification engine 810.
  • the processor 210 of the electronic device 200 may identify feature point information using the vision information identification engine 810.
  • the vision information identification engine 810 of FIG. 8 may be distinguished from the vision information identification engine 710 of FIG. 7 .
  • the vision information identification engine 810 of FIG. 8 may be used to identify (or obtain) feature point information consisting of at least one vector based on the image.
  • the vision information identification engine 710 of FIG. 7 may be used to identify (or obtain) at least one parameter related to an image.
  • the vision information identification engine 710 may obtain at least one parameter using feature point information identified based on the image.
  • the vision information identification engine 810 of FIG. 8 may be comprised of part or all of the vision information identification engine 710 of FIG. 7 .
  • the processor 210 may set the image as an input value (or input data) of the vision information identification engine 810.
  • the processor 210 may identify (or obtain) feature point information using the output value of the vision information identification engine 810.
  • feature point information may be composed of vectors.
  • Feature point information may be referred to as a vision context vector.
  • the processor 210 may transmit feature point information identified (or obtained) based on the image and the source sentence included in the image to the external electronic device 500.
  • the external electronic device 500 may receive feature point information and source sentences from the electronic device 200.
  • the external electronic device 500 may use a vector projector 820 to transcribe feature point information into a language vector space.
  • the external electronic device 500 can identify the contextual meaning of a word by transcribing feature point information into a language vector space.
  • the external electronic device 500 may use the contextual meaning of the word to construct words of the target sentence.
  • the external electronic device 500 may identify specialized engine selection information based on feature point information and source sentences.
  • the external electronic device 500 may activate at least one of the plurality of expert engines 430 based on expert engine selection information.
  • processor 210 may identify a target sentence based on expert engine selection information, information transcribed into a language vector space, and the source sentence.
  • the external electronic device 500 may transmit the target sentence to the electronic device 200.
  • the processor 210 of the electronic device 200 may provide the target sentence to the user of the electronic device 200.
  • Figure 9 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • systems 400 to 800 shown in FIGS. 4 to 8 may operate in conjunction with each other.
  • system 600 and system 800 may operate in conjunction with each other.
  • system 900 may be a system in which system 600 and system 800 are linked.
  • System 900 may include at least a portion of the configuration of system 600 and at least a portion of the configuration of system 800.
  • the processor 210 of the electronic device 200 may identify expert engine selection information based on the source sentence included in the image.
  • the processor 210 of the electronic device 200 may identify feature point information based on the image.
  • the processor 210 may transmit expert engine selection information, feature point information, and source sentences to the external electronic device 500.
  • the external electronic device 500 may identify the target sentence through at least one of the plurality of expert engines 430 based on the expert engine selection information, feature point information, and source sentence from the electronic device 200.
  • the electronic device 200 may include a vision information identification engine 910, a source sentence identification engine 920, and an expert engine selection engine 930.
  • the vision information identification engine 910 may be used to obtain feature point information based on an image.
  • the vision information identification engine 910 may correspond to the vision information identification engine 810 of FIG. 8 .
  • the source sentence identification engine 920 can be used to identify (or obtain) source sentences included in an image.
  • the processor 210 may use the source sentence identification engine 920 to identify the source sentence included in the image.
  • the processor 210 may perform OCR on the image using the source sentence identification engine 920.
  • the processor 210 may identify the source sentence included in the image through OCR on the image.
  • expert engine selection engine 930 may be used to identify expert engine selection information based on source sentences.
  • the processor 210 may identify a source sentence based on the source sentence identification engine 920 and set the identified source sentence as an input value of the expert engine selection engine 930.
  • the processor 210 may obtain (or identify) specialized engine selection information using the output value of the specialized engine selection engine 930.
  • the processor 210 may obtain expert engine selection information using the expert engine selection engine 930 based on at least one of source sentence, image, and feature point information.
  • the processor 210 may transmit expert engine selection information, feature point information, and source sentences to the external electronic device 500.
  • the external electronic device 500 may receive expert engine selection information, feature point information, and source sentences from the electronic device 200.
  • the external electronic device 500 may use the vector projector 940 to transcribe feature point information into a language vector space.
  • the external electronic device 500 may embed the source sentence and the previous target sentence.
  • the external electronic device 500 may use an attention function and a feed forward network (FNN) to identify words to focus on within the source sentence.
  • the external electronic device 500 may use the argmax function to identify the output that has the maximum probability for selection of the plurality of expert engines 430.
  • the external electronic device 500 may identify at least one specialized engine among the plurality of specialized engines 430 .
  • the external electronic device 500 identifies (or obtains) a target sentence using at least one expert engine based on identifying at least one expert engine of the plurality of expert engines 430. )can do.
  • the external electronic device 500 may activate at least one expert engine among the plurality of expert engines 430 .
  • the external electronic device 500 may deactivate the remaining specialized engines among the plurality of specialized engines 430.
  • the external electronic device 500 may identify the output value of at least one expert engine among the plurality of expert engines 430.
  • the electronic device 200 may set the output value of the remaining specialized engines among the plurality of specialized engines 430 to 0.
  • the external electronic device 500 may sequentially set at least one word included in the source sentence as an input value for at least one expert engine.
  • the processor 210 of the external electronic device 500 may identify words constituting the target sentence using a logit function.
  • the external electronic device 500 may identify the target sentence by combining words constituting the target sentence. For example, the external electronic device 500 may identify a target sentence of a second language type that corresponds to a source sentence of a first language type.
  • the external electronic device 500 may transmit a target sentence to the electronic device 200.
  • the processor 210 of the electronic device 200 may receive the target sentence from the external electronic device 500.
  • the sentence style of the target sentence may correspond to the sentence style of the source sentence.
  • the target sentence may be identified based on the sentence style of the source sentence.
  • the target sentence may be identified based on the sound of the source sentence, words according to the domain of the source sentence, and the context of the source sentence.
  • FIG. 9 illustrates an example in which the system 600 of FIG. 6 and the system 800 of FIG. 8 operate in conjunction, but the present invention is not limited thereto. Depending on the embodiment, two or more of the systems 400 to 800 shown in FIGS. 4 to 8 may operate in conjunction.
  • Figure 10 shows an example of operation of a system for providing translation services using a plurality of professional engines according to an embodiment.
  • system 1000 may include an electronic device 200 and an external electronic device 500.
  • the electronic device 200 and the external electronic device 500 can learn a plurality of engines and a plurality of modules included in the electronic device 200 and the external electronic device 500.
  • the electronic device 200 may include a vision information identification engine 1010.
  • the processor 210 of the electronic device 200 may transmit data about the image and data about the source sentence included in the image to the external electronic device 500 using the vision information identification engine 1010.
  • data about an image may include at least one of image metadata, data about a scene within the image, a list of a plurality of objects included in the image, and feature point information.
  • the external electronic device 500 may receive data about the image and data about the source sentence included in the image from the electronic device 200.
  • the external electronic device 500 may identify the target sentence using the translation engine 1020 based on data about the image and data about the source sentence.
  • translation engine 1020 may include a plurality of specialized engines 430.
  • the external electronic device 500 may transmit the identified target sentence to the electronic device 200.
  • the external electronic device 500 may preprocess data about an image and data about a source sentence using the pre-processing module 1030.
  • the external electronic device 500 may store preprocessed data in the first database 1040.
  • the external electronic device 500 uses the data stored in the first database 1040 for learning based on the size of the data stored in the first database 1040 being identified as being larger than the standard size. You can use it.
  • the external electronic device 500 may train the translation learning model 1050 and the vision information learning model 1060 using data stored in the first database 1040.
  • the external electronic device 500 stores the checkpoints (or weights) of the trained translation learning model 1050 and the trained vision information learning model 1060 in the second database 1070. ) can be saved in .
  • the external electronic device 500 stores checkpoints (or weights (or weight), the translation engine 1020 can be trained.
  • the processor 210 of the electronic device 200 sends data about the image and data about the source sentence to an external electronic device in order to learn a plurality of models and a plurality of engines of the external electronic device 500. It can be transmitted to the device 500.
  • the electronic device 200 (or the user of the electronic device 200) may receive a reward by transmitting data about the image and data about the source sentence to the external electronic device 500.
  • the electronic device 200 may receive feedback from the external electronic device 500 by transmitting data about the image and data about the source sentence to the external electronic device 500.
  • the system 1000 may be designed based on a representational state transfer application programming interface (Rest API). For example, at the API level, if a parameter indicating the nature of the source sentence (or document) is additionally included in addition to the source language type, target language type, and source sentence, the system 1000 may be designed based on the Rest API. You can. For example, if parameters representing feature point information of an image are additionally included at the API level in addition to the source language type, target language type, and source sentence, the system 1000 may be designed based on the Rest API.
  • Rest API representational state transfer application programming interface
  • the system 1000 It can be designed based on Rest API.
  • Figure 11 shows a flowchart of the operation of an electronic device according to an embodiment.
  • the processor 210 may obtain an image including a source sentence.
  • the processor 210 may obtain an image including a source sentence of the first language type.
  • the processor 210 may identify the source sentence included in the image using OCR.
  • the processor 210 may identify the source sentence included in the image using a source sentence identification engine.
  • the processor 210 may determine a newline policy of a source sentence included in an image. For example, the processor 210 may perform line wrapping of source sentences included in the image. The processor 210 may convert (or change) a source sentence to which a newline policy is not applied into a source sentence to which a newline policy is applied.
  • the processor 210 may identify feature point information of the image. For example, based on acquiring the image, the processor 210 selects at least one expert engine among the plurality of expert engines as the output value of the first model by setting the source sentence as the input value of the first model. You can obtain specialized engine selection information to do this.
  • the processor 210 may set the source sentence as an input value of the first model.
  • the first model can be used to obtain expert engine selection information based on the source sentence.
  • the first model may be referred to as a specialized engine selection engine.
  • the processor 210 may obtain (or identify) specialized engine selection information using the output value of the first model.
  • the specialized engine selection information may include information for selecting at least one specialized engine from a plurality of specialized engines.
  • the expert engine selection information may include information about the probability of selecting at least one expert engine related to the domain related to the source sentence among a plurality of expert engines.
  • the specialized engine selection information may include information about a distribution (or probability distribution) for selection of a plurality of specialized engines 430.
  • the processor 210 may identify information regarding usage rights of a plurality of specialized engines.
  • the processor 210 may identify engines for which permissions are set among the plurality of expert engines, based on information about the permissions to use the plurality of expert engines.
  • the processor 210 may identify at least one specialized engine among engines for which permissions have been set.
  • the processor 210 may identify feature point information of the image. For example, based on acquiring an image, the processor 210 sets the image as an input value of a second model that is distinct from the first model, thereby identifying feature point information of the image as an output value of the second model. You can.
  • the processor 210 may set the image as an input value of the second model.
  • the second model may be referenced as a vision information identification engine.
  • the processor 210 may identify (or obtain) feature point information using the output value of the second model.
  • feature point information may be composed of vectors.
  • Feature point information may be referred to as a vision context vector.
  • operations 1120 and 1130 are described as being performed sequentially, but are not limited thereto.
  • operation 1130 may be performed before operation 1120.
  • operations 1120 and 1130 may be performed simultaneously.
  • processor 210 may receive a target sentence.
  • the processor 210 corresponds to the source sentence based on transmitting the source sentence, expert engine selection information, and feature point information to an external electronic device connected to the electronic device, and at least one of the plurality of expert engines.
  • the expert engine Through the expert engine, a target sentence of a second language type generated based on the sentence style according to the source sentence may be received.
  • the processor 210 may transmit the source sentence, full text engine selection information, and feature point information to an external electronic device.
  • the source sentence, expert engine selection information, and feature point information may be compressed and transmitted to an external electronic device.
  • the processor 210 may compress source sentences, full text engine selection information, and feature point information based on context-based adaptive binary arithmetic coding (CABAC).
  • CABAC context-based adaptive binary arithmetic coding
  • the processor 210 may transmit information in which the source sentence, full text engine selection information, and feature point information are compressed to an external electronic device.
  • the processor 210 transmits the source sentence, full text engine selection information, and feature point information to an external electronic device to identify a target sentence of the second language type that corresponds to the source sentence of the first language type. can do.
  • the processor 210 may transmit a signal to an external electronic device that causes the external electronic device to identify (or obtain) a target sentence of the second language type that corresponds to a source sentence of the first language type.
  • feature point information can be transferred to a language vector space using a vector projector.
  • Feature point information transcribed into the language vector space can be used to identify the target sentence together with the source sentence.
  • feature point information transcribed into a language vector space can be used to identify the meaning of a word according to its context (or situation).
  • feature point information transcribed into a language vector space may be used auxiliary to identify meaning according to the context (or situation) of a word.
  • specialized engine selection information may be used to select at least one specialized engine from a plurality of specialized engines.
  • the external electronic device 500 may activate at least one expert engine among a plurality of expert engines based on expert engine selection information.
  • the external electronic device 500 may deactivate the remaining expert engines among the plurality of expert engines based on expert engine selection information.
  • the target sentence of the second language type may be obtained based on the sentence style according to the source sentence through at least one expert engine among a plurality of expert engines.
  • the sentence style according to the source sentence may include at least one of the nuance of the source sentence, the word according to the source sentence domain, and the context of the source sentence.
  • the sentence style of the target sentence may correspond to the sentence style of the source sentence.
  • the processor 210 may identify a target sentence that reflects the connotation of the source sentence, words according to the domain of the source sentence, and the context of the source sentence.
  • the processor 210 may transmit additional information or data to the external electronic device 500 in addition to the source sentence, full text engine selection information, and feature point information.
  • the processor 210 may identify a plurality of objects included in an image.
  • the processor 210 may identify a list representing a plurality of objects based on identifying the plurality of objects included in the image.
  • the processor 210 may transmit the identified list to an external electronic device.
  • processor 210 may identify parameters for determining a newline policy based on the image and source sentence.
  • the processor 210 may transmit the identified parameters to an external electronic device.
  • the source sentence may be changed from a state in which a newline policy is not applied to a state in which a newline policy is applied, based on a parameter for determining the newline policy.
  • the external electronic device 500 may change (or convert) a source sentence to which a newline policy is not applied into a source sentence to which a newline policy is applied, based on parameters received from the electronic device 200.
  • the processor 210 may identify another source sentence that is distinct from the source sentence included in the image.
  • the processor 210 may identify a domain for another source sentence based on the domain for the source sentence.
  • the processor 210 may identify a domain related to another source sentence as the domain related to the source sentence.
  • the processor 210 may set a high probability value that a domain related to another source sentence will be identified as a domain related to the source sentence.
  • the processor 210 may transmit data for training a plurality of models and/or a plurality of engines included in the external electronic device to the external electronic device.
  • the processor 210 may identify metadata of an image, data about a scene within the image, and a list representing a plurality of objects included in the image.
  • the processor 210 transmits metadata of the image, data about scenes in the image, and a list representing a plurality of objects included in the image to an external electronic device, thereby learning data for training a plurality of engines.
  • source sentences, metadata, data about scenes, and lists can be used for training multiple expert engines.
  • the external electronic device 500 can train a plurality of expert engines using metadata, scene data, and lists.
  • the processor 210 may analyze the source sentence and identify a domain in which the expressions, words, and writing style of the source sentence are mainly used.
  • the processor 210 may identify at least one expert engine related to the identified domain among the plurality of expert engines.
  • the processor 210 may identify a target sentence identified based on at least one expert engine by receiving it from an external electronic device. Accordingly, the processor 210 may identify (or obtain) a target sentence that reflects the expressions, words, and writing style of the source sentence.
  • the processor 210 may identify a source sentence included in an image, convert the source sentence included in the image into a target sentence, and display the target sentence.
  • the processor 210 can identify the domain using feature point information of the image.
  • the processor 210 may identify that a calendar is displayed in the image based on feature point information of the image. The processor 210 may identify (or recognize) the word “SUN” as Sunday.
  • the processor 210 may identify that a sunset or sunrise scene is displayed in the image, based on feature point information of the image. Processor 210 may identify (or recognize) the word “SUN” as the sun.
  • the plurality of professional engines 430 are separated, so that the translation service according to the translation engine of a monolithic structure can be separated into a plurality of micro services. As multiple parallel microservices are provided, latency for translation services can be reduced.
  • an electronic device e.g., electronic device 200
  • includes a memory e.g., memory 220
  • a communication circuit e.g., communication circuit 230
  • at least one processor e.g., processor (210)
  • the at least one processor 210 may be configured to acquire an image including a source sentence of a first language type.
  • the at least one processor based on acquiring the image, sets the source sentence as an input value of the first model, and sets the source sentence as an output value of the first model, at least one of the plurality of expert engines. It can be set to obtain specialized engine selection information for selecting an engine.
  • the at least one processor based on acquiring the image, sets the image as an input value of a second model that is distinct from the first model, thereby generating a feature point of the image as an output value of the second model. Can be set to identify information.
  • the at least one processor based on transmitting the source sentence, the expert engine selection information, and the feature point information to an external electronic device (e.g., external electronic device 500) connected to the electronic device, and may be set to receive a target sentence of a second language type, obtained based on a sentence style according to the source sentence, through at least one expert engine among the plurality of expert engines.
  • the specialized engine selection information may include information about a probability for selecting the at least one specialized engine related to a domain related to the source sentence among the plurality of specialized engines.
  • the at least one processor may be configured to identify another source sentence included in the image that is distinct from the source sentence.
  • the at least one processor may be configured to identify a domain for the other source sentence based on the domain for the source sentence.
  • the at least one processor may be configured to identify a list representing the plurality of objects based on identifying the plurality of objects included in the image.
  • the at least one processor may be configured to transmit the list to the external electronic device.
  • the at least one processor may be configured to transmit a parameter for determining a line break policy to the external electronic device based on the image and the source sentence.
  • the source sentence may be changed from a state in which the newline policy is not applied to a state in which the newline policy is applied, based on a parameter for determining the newline policy.
  • the feature point information may be transferred to a language vector space using a vector projector.
  • the feature point information, transcribed into the language vector space, can be used, along with the source sentence, to identify the target sentence.
  • the at least one processor may be configured to identify information regarding usage rights of the plurality of specialized engines.
  • the at least one processor may be configured to identify engines for which permissions are set among the plurality of expert engines, based on the information regarding the permissions to use the plurality of expert engines.
  • the at least one processor may be configured to identify the at least one specialized engine among the engines for which the authority is set.
  • the at least one processor may be configured to compress the source sentence, the full text engine selection information, and the feature point information based on context-based adaptive binary arithmetic coding (CABAC).
  • CABAC context-based adaptive binary arithmetic coding
  • the at least one processor may be configured to transmit information in which the source sentence, the full text engine selection information, and the feature point information are compressed to the external electronic device.
  • the sentence style according to the source sentence includes at least one of the nuance of the source sentence, a word according to the domain of the source sentence, and the context of the source sentence. It can be included.
  • the at least one processor may be configured to identify metadata of the image, data about a scene within the image, and a list representing a plurality of objects included in the image.
  • the source sentence, the metadata, the data for the scene, and the list may be used for training of the plurality of expert engines.
  • a method of an electronic device may include an operation of acquiring an image including a source sentence of a first language type.
  • the method includes, based on obtaining the image, setting the source sentence as an input value of a first model, thereby selecting at least one expert engine among a plurality of expert engines as an output value of the first model. It may include an operation of acquiring specialized engine selection information to do the following.
  • the method based on acquiring the image, sets the image as an input value of a second model that is distinct from the first model, and identifies feature point information of the image as an output value of the second model.
  • the method corresponds to the source sentence based on transmitting the source sentence, the expert engine selection information, and the feature point information to an external electronic device (e.g., external electronic device 500) connected to the electronic device.
  • an external electronic device e.g., external electronic device 500
  • the specialized engine selection information may include information about a probability for selecting the at least one specialized engine related to a domain related to the source sentence among the plurality of specialized engines.
  • the method may include identifying another source sentence included in the image that is distinct from the source sentence.
  • the method may include identifying a domain for the other source sentence based on the domain for the source sentence.
  • the method may include identifying a list representing the plurality of objects based on identifying the plurality of objects included in the image.
  • the method may include transmitting the list to the external electronic device 500.
  • the method may include transmitting a parameter for determining a line break policy to the external electronic device 500 based on the image and the source sentence.
  • the source sentence may be changed from a state in which the newline policy is not applied to a state in which the newline policy is applied, based on a parameter for determining the newline policy.
  • the feature point information may be transferred to a language vector space using a vector projector.
  • the feature point information, transcribed into the language vector space, can be used, along with the source sentence, to identify the target sentence.
  • the method may include identifying information regarding usage rights of the plurality of expert engines.
  • the method may include an operation of identifying engines for which permissions are set among the plurality of expert engines, based on the information regarding usage permissions of the plurality of expert engines.
  • the method may include identifying the at least one specialized engine among the engines for which the authority is set.
  • the sentence style according to the source sentence includes at least one of the nuance of the source sentence, a word according to the domain of the source sentence, and the context of the source sentence. It can be included.
  • the method may include identifying metadata of the image, data about a scene in the image, and a list representing a plurality of objects included in the image.
  • the source sentence, the metadata, the data for the scene, and the list may be used for training of the plurality of expert engines.
  • a non-transitory computer readable storage medium may store one or more programs.
  • the one or more programs include a processor (e.g., a processor (with) a memory (e.g., memory 220) and a communication circuit (e.g., communication circuit 230) of an electronic device (e.g., electronic device 200). 210)) may include instructions that cause the electronic device to acquire an image containing a source sentence of a first language type.
  • the one or more programs based on acquiring the image, set the source sentence as an input value of the first model to an output value of the first model. and instructions that cause the electronic device to obtain expert engine selection information for selecting at least one expert engine from among the expert engines.
  • the one or more programs when executed by the processor of the electronic device, based on acquiring the image, set the image as an input value of a second model that is distinct from the first model, thereby creating the second model.
  • the output value of may include instructions that cause the electronic device to identify feature point information of the image.
  • the one or more programs transmit the source sentence, the expert engine selection information, and the feature point information to an external electronic device (e.g., external electronic device 500) connected to the electronic device. Based on transmitting, receive a target sentence of a second language type, corresponding to the source sentence and obtained based on a sentence style according to the source sentence, through at least one expert engine of the plurality of expert engines. It may include instructions that cause the electronic device to do so.
  • the processor of the electronic device identifies the domain of the source sentence and identifies the target sentence using an expert engine according to the identified domain, thereby providing appropriate translation results and improving user experience.
  • the processor may improve translation quality by providing a service using at least one expert engine among a plurality of expert engines.
  • the processor may improve translation quality based on a specified time interval by providing data for training a plurality of engines and a plurality of modules included in an external electronic device.
  • the system (or algorithm) for providing the above-described translation service may be provided in the form of an API to modules included in a plurality of electronic devices, including electronic devices.
  • Electronic devices may be of various types.
  • Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances.
  • Electronic devices according to embodiments of this document are not limited to the above-described devices.
  • first, second, or first or second may be used simply to distinguish one element from another, and may be used to distinguish such elements in other respects, such as importance or order) is not limited.
  • One (e.g. first) component is said to be “coupled” or “connected” to another (e.g. second) component, with or without the terms “functionally” or “communicatively”.
  • any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
  • module used may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document are one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these.
  • a processor e.g., processor 120
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is stored semi-permanently in the storage medium. There is no distinction between temporary storage cases.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • a 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 through an application store (e.g. Play Store), or on two user devices (e.g. : Smartphones) can be distributed (e.g. downloaded or uploaded) directly or online.
  • a machine-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play Store
  • two user devices e.g. : Smartphones
  • at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
  • each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is.
  • one or more of the components or operations described above may be omitted, or one or more other components or operations may be added.
  • multiple components eg, modules or programs
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component of the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, or omitted. Alternatively, one or more other operations may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

일 실시 예에 따르면, 전자 장치는 메모리, 통신 회로, 및 적어도 하나의 프로세서를 포함한다. 상기 적어도 하나의 프로세서는, 제1 언어 타입의 소스 문장을 포함하는 이미지를 획득하도록 설정된다. 상기 적어도 하나의 프로세서는, 상기 소스 문장을, 제1 모델의 입력 값으로 설정함으로써, 상기 제1 모델의 출력 값으로, 전문 엔진 선택 정보를 획득하도록 설정된다. 상기 적어도 하나의 프로세서는, 상기 이미지를, 제2 모델의 입력 값으로 설정함으로써, 상기 제2 모델의 출력 값으로, 상기 이미지의 특징점 정보를 식별하도록 설정된다. 상기 적어도 하나의 프로세서는, 상기 소스 문장에 대응하고, 상기 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 상기 소스 문장에 따른 문장 스타일에 기반하여 획득된, 제2 언어 타입의 타겟 문장을 수신하도록 설정된다. 그 밖에 다양한 실시예가 가능하다.

Description

번역 서비스를 제공하기 위한 전자 장치 및 방법
아래의 설명들은, 번역 서비스르 제공하기 위한 전자 장치 및 방법에 관한 것이다.
기술이 발달함에 따라, 기계 번역을 위한 다양한 방식들이 제안되었다. 기계 번역이란 컴퓨터에 의해 자동화된 번역을 의미할 수 있다. 기계 번역은 규칙 기반 기계 번역, 예제 기반 기계 번역, 통계 기반 기계 번역 및 인공 신경망 기반 기계 번역으로 분류될 수 있다. 여기서, 인공 신경망 기계 번역은 다른 기계 번역들 보다 높은 정확도를 가질 수 있다.
일 실시 예에 따르면, 전자 장치는, 메모리, 통신 회로, 및 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 제1 언어 타입의 소스 문장을 포함하는 이미지를 획득하도록 설정될 수 있다. 상기 적어도 하나의 프로세서는, 상기 이미지를 획득하는 것에 기반하여, 상기 소스 문장을, 제1 모델의 입력 값으로 설정함으로써, 상기 제1 모델의 출력 값으로, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위한 전문 엔진 선택 정보를 획득하도록 설정될 수 있다. 상기 적어도 하나의 프로세서는, 상기 이미지를 획득하는 것에 기반하여, 상기 이미지를, 상기 제1 모델과 구별되는 제2 모델의 입력 값으로 설정함으로써, 상기 제2 모델의 출력 값으로, 상기 이미지의 특징점 정보를 식별하도록 설정될 수 있다. 상기 적어도 하나의 프로세서는, 상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보를 상기 전자 장치와 연결된 외부 전자 장치에게 송신하는 것에 기반하여, 상기 소스 문장에 대응하고, 상기 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 상기 소스 문장에 따른 문장 스타일에 기반하여 획득된, 제2 언어 타입의 타겟 문장을 수신하도록 설정될 수 있다.
일 실시 예에 따르면, 전자 장치의 방법은, 제1 언어 타입의 소스 문장을 포함하는 이미지를 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 이미지를 획득하는 것에 기반하여, 상기 소스 문장을, 제1 모델의 입력 값으로 설정함으로써, 상기 제1 모델의 출력 값으로, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위한 전문 엔진 선택 정보를 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 이미지를 획득하는 것에 기반하여, 상기 이미지를, 상기 제1 모델과 구별되는 제2 모델의 입력 값으로 설정함으로써, 상기 제2 모델의 출력 값으로, 상기 이미지의 특징점 정보를 식별하는 동작을 포함할 수 있다. 상기 방법은, 상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보를 상기 전자 장치와 연결된 외부 전자 장치에게 송신하는 것에 기반하여, 상기 소스 문장에 대응하고, 상기 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 상기 소스 문장에 따른 문장 스타일에 기반하여 획득된, 제2 언어 타입의 타겟 문장을 수신하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 비일시적 컴퓨터 판독가능 저장 매체(non-transitory computer readable storage medium)는, 하나 이상의 프로그램들을 저장할 수 있다. 상기 하나 이상의 프로그램들은, 메모리 및 통신 회로를 가지는(with) 전자 장치의 프로세서에 의해 실행될 시, 제1 언어 타입의 소스 문장을 포함하는 이미지를 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시, 상기 이미지를 획득하는 것에 기반하여, 상기 소스 문장을, 제1 모델의 입력 값으로 설정함으로써, 상기 제1 모델의 출력 값으로, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위한 전문 엔진 선택 정보를 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시, 상기 이미지를 획득하는 것에 기반하여, 상기 이미지를, 상기 제1 모델과 구별되는 제2 모델의 입력 값으로 설정함으로써, 상기 제2 모델의 출력 값으로, 상기 이미지의 특징점 정보를 식별하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시, 상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보를 상기 전자 장치와 연결된 외부 전자 장치에게 송신하는 것에 기반하여, 상기 소스 문장에 대응하고, 상기 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 상기 소스 문장에 따른 문장 스타일에 기반하여 획득된, 제2 언어 타입의 타겟 문장을 수신하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
도 1은 일 실시 예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 일 실시 예에 따른 전자 장치의 간소화된 블록도(simplified block diagram)이다.
도 3은 일 실시 예에 따른 전자 장치의 동작의 예를 도시한다.
도 4는 일 실시 예에 따른 복수의 전문 엔진들을 포함하는 번역 엔진의 예를 도시한다.
도 5는 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 6은 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 7은 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 8은 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 9는 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 10은 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 11은 일 실시 예에 따른 전자 장치의 동작에 관한 흐름도를 도시한다.
도 1은, 일 실시 예에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나 와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
일 실시 예에 따르면, 전자 장치(예: 전자 장치(101))는 번역 서비스를 제공할 수 있다. 예를 들어, 전자 장치는 번역 대상(예: 단어, 문장, 또는 문단)과 관련된 도메인을 식별할 수 있다. 전자 장치는 식별된 도메인에 따라 전문 엔진(expert engine)을 이용하여 번역 서비스를 제공할 수 있다. 이하 명세서에서는, 번역 대상과 관련된 도메인을 식별하고, 식별된 도메인에 기반하여, 전문 엔진을 이용하여 번역 서비스를 제공하기 위한 전자 장치의 동작이 설명될 수 있다.
도 2는 일 실시 예에 따른 전자 장치의 간소화된 블록도(simplified block diagram)이다.
도 2를 참조하면, 전자 장치(200)는 도 1에 도시된 전자 장치(101)의 구성 요소의 일부 또는 전부를 포함할 수 있다. 예를 들어, 전자 장치(200)는 도 1의 전자 장치(101)에 상응할 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 프로세서(210), 메모리(220), 통신 회로(230), 및/또는 카메라(240)를 포함할 수 있다. 실시 예에 따라, 전자 장치(200)는 프로세서(210), 메모리(220), 통신 회로(230), 및 카메라(240) 중 적어도 하나를 포함할 수 있다. 예를 들어, 프로세서(210), 메모리(220), 통신 회로(230), 및 카메라(240) 중 적어도 일부는 실시 예에 따라 생략될 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 프로세서(210)를 포함할 수 있다. 프로세서(210)는 메모리(220), 통신 회로(230), 및 카메라(240)와 작동적으로(operatively 또는 operably) 결합하거나(coupled with), 연결될(connected with) 수 있다. 프로세서(210)가 메모리(220), 통신 회로(230), 및 카메라(240)와 작동적으로 결합하거나, 연결된다는 것은, 프로세서(210)가 프로세서(210)는 메모리(220), 통신 회로(230), 및 카메라(240)를 제어할 수 있음을 의미할 수 있다.
예를 들어, 프로세서(210)는 메모리(220), 통신 회로(230), 및 카메라(240)를 제어할 수 있다. 메모리(220), 통신 회로(230), 및 카메라(240)는 프로세서(210)에 의해 제어될 수 있다. 예를 들어, 프로세서(210)는 적어도 하나의 프로세서로 구성될 수 있다. 예를 들어, 프로세서(210)는 적어도 하나의 프로세서를 포함할 수 있다. 예를 들어, 프로세서(210)는 도 1의 프로세서(120)에 상응할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 하나 이상의 인스트럭션에 기반하여 데이터를 처리하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 데이터를 처리하기 위한 하드웨어 컴포넌트는, 예를 들어, ALU(arithmetic and logic unit), FPGA(field programmable gate array) 및/또는 CPU(central processing unit)를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 메모리(220)를 포함할 수 있다. 예를 들어, 메모리(220)는 하나 이상의 프로그램들을 저장하기 위해 사용될 수 있다. 하나 이상의 프로그램들은 전자 장치(200)의 프로세서(210)에 의해 실행될 시, 미리 정의된 동작을 수행하도록 전자 장치(200)를 야기하는 인스트럭션들을 포함할 수 있다. 예를 들어, 메모리(220)는 도 1의 메모리(130)에 상응할 수 있다. 예를 들어, 메모리(220)는 휘발성 메모리 유닛 또는 유닛들일 수 있다. 예를 들어, 메모리(220)는 비휘발성 메모리 유닛 또는 유닛들일 수 있다. 예를 들어, 메모리(220)는 자기 또는 광학 디스크와 같이, 다른 형태의 컴퓨터 판독가능 매체일 수 있다. 예를 들어, 메모리(220)는 프로세서(210)에서 수행되는 동작(예를 들어, 알고리즘 수행 동작)에 기반하여 획득된 데이터를 저장할 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 통신 회로(230)를 포함할 수 있다. 예를 들어, 통신 회로(230)는 도 1의 통신 모듈(190)의 적어도 일부에 상응할 수 있다. 예를 들어, 통신 회로(230)는 다양한 RAT(radio access technology)을 위해 사용될 수 있다. 예를 들어, 통신 회로(230)는 셀룰러 통신을 수행하기 위해 사용될 수 있다. 예를 들어, 통신 회로(230)는 블루투스(bluetooth) 통신, 무선 랜(wireless local area network, WLAN) 통신, 또는 UWB(ultra wideband) 통신을 수행하기 위해 사용될 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 카메라(240)를 포함할 수 있다. 예를 들어, 카메라(240)는 이미지를 획득하기 위해 사용될 수 있다. 프로세서(210)는 카메라(240)를 이용하여, 소스 문장이 포함된 이미지를 획득할 수 있다. 실시 예에 따라, 프로세서(210)는 카메라(240)를 이용하여, 소스 문장이 포함된 프리뷰 이미지를 표시할 수 있다.
도 3은 일 실시 예에 따른 전자 장치의 동작의 예를 도시한다.
도 3을 참조하면, 동작 310에서, 전자 장치(200)의 프로세서(210)는 소스 문장(source sentence)이 포함된 이미지를 식별할 수 있다. 예를 들어, 프로세서(210)는 카메라(240)를 이용하여, 이미지를 촬영함으로써, 소스 문장이 포함된 이미지를 식별할 수 있다. 예를 들어, 프로세서(210)는 메모리(220)에 저장된, 갤러리 내의 소스 문장이 포함된 이미지를 식별할 수 있다.
동작 320에서, 프로세서(210)는 식별된 이미지에 포함된 소스 문장을 식별할 수 있다. 예를 들어, 프로세서(210)는 OCR(optical character recognition)을 이용하여 식별된 이미지에 포함된 소스 문장을 식별할 수 있다. 예를 들어, 프로세서(210)는 식별된 이미지에 포함된 소스 문장의 언어 타입(language type)을 식별할 수 있다. 예를 들어, 프로세서(210)는 소스 문장의 언어 타입(이하, 소스 언어 타입)을 '영어(English)(EN)'로 식별할 수 있다. 실시 예에 따라, 프로세서(210)는 전자 장치(200)의 사용자로부터 소스 언어 타입을 설정하기 위한 사용자 입력을 수신할 수 있다. 프로세서(210)는 사용자 입력에 기반하여, 소스 언어 타입을 식별할 수 있다.
동작 330에서, 프로세서(210)는 타겟 언어 타입을 '한국어(KR)'로 식별할 수 있다. 예를 들어, 프로세서(210)는 타겟 언어 타입을 전자 장치(200)의 사용자로부터 수신된 사용자 입력에 기반하여, 식별할 수 있다. 실시 예에 따라, 타겟 언어 타입은 전자 장치(200)의 기본 언어 타입으로 설정될 수 있다.
동작 340에서, 프로세서(210)는 소스 언어 타입, 타겟 언어 타입, 및 소스 문장을 번역 엔진(301)의 입력 값으로 설정할 수 있다. 예를 들어, 번역 엔진(301)은 인공 지능에 기반한 지정된 모델로 구성될 수 있다. 지정된 모델은 복수의 파라미터들에 의해 지시될 수 있다. 프로세서(210)는 소스 언어 타입, 타겟 언어 타입, 및 소스 문장을 번역 엔진(301)(또는 지정된 모델)의 입력 값으로 설정할 수 있다.
실시 예에 따라, 번역 엔진(301)은, 전자 장치(200)와 구별되는 외부 전자 장치 내에 구성될 수 있다. 프로세서(210)는 소스 언어 타입, 타겟 언어 타입, 및 소스 문장을 외부 전자 장치에게 송신함으로써, 소스 언어 타입, 타겟 언어 타입, 및 소스 문장을 번역 엔진(301)의 입력 값으로 설정할 수 있다.
실시 예에 따라, 번역 엔진(301)은, 전자 장치(200) 내에 구성될 수 있다. 프로세서(210)는 소스 언어 타입, 타겟 언어 타입, 및 소스 문장을 전자 장치(200) 내에 구성된 번역 엔진(301)의 입력 값으로 설정할 수 있다.
일 실시 예에 따르면, 번역 엔진(301)은 트랜스포머(transformer) 엔진에 기반하여 구성될 수 있다. 번역 엔진(301)은 사용 빈도가 높은 복수의 단어들(또는 문장들)의 조합을 처리하기 위해 사용될 수 있다. 실시 예에 따라, 프로세서(210)는 사용 빈도가 적은 복수의 단어들(또는 문장들, 언어들)의 조합에 대한 서비스를 제공하기 위해, 번역 엔진(301)과 구별되는 다른 번역 엔진을 사용할 수도 있다. 예를 들어, 다른 번역 엔진은 외부 서버 내에 포함될 수 있다. 예를 들어. 번역 엔진(301)을 구성하기 위한 트랜스포머 엔진은 예시적인 것이며, 실시 예에 따라, 번역 엔진(301)은 트랜스포머 엔진 뿐만 아니라, 다양한 엔진들에 기반하여 구성될 수 있다.
동작 350에서, 프로세서(210)는 번역 엔진(301)을 통해, 소스 문장에 대응하는 타겟 문장을 획득할 수 있다. 예를 들어, 타겟 문장의 언어 타입은 타겟 언어 타입(예: 한국어)로 설정될 수 있다. 프로세서(210)는 획득된 타겟 문장을 표시할 수 있다. 일 예로, 프로세서(210)는 획득된 이미지와 함께 획득된 타겟 문장을 표시할 수 있다. 프로세서(210)는 소스 문장이 포함된 이미지에서, 소스 문장을 타겟 문장으로 변환하여 표시할 수 있다.
일 실시 예에 따르면, 번역 엔진(301)을 구성하는 지정된 모델은 학습의 방향으로 설정된, 일반적인(general) 표현, 일반적인 문체 및 일반적인 단어를 위한 도메인에 기반하여, 소스 문장을 타겟 문장으로 변환(또는 변경)할 수 있다. 지정된 형식이 요구되는 소스 문장, 지정된 기술 분야에 관한 소스 문장(또는 단어, 어구), 및 지정된 문체의 소스 문장에 대한 번역이 제대로 수행되지 못할 수 있다. 따라서, 지정된 형식이 요구되는 소스 문장, 지정된 기술 분야에 관한 소스 문장(또는 단어, 어구), 및 지정된 문체의 소스 문장에 대한 번역을 수행하기 위한 번역 엔진이 이하에서 설명될 수 있다.
도 4는 일 실시 예에 따른 복수의 전문 엔진들을 포함하는 번역 엔진의 예를 도시한다.
도 4를 참조하면, 전자 장치(200)의 프로세서(210)는 번역 엔진(400)을 이용하여, 제1 언어 타입의 소스 문장을 제2 언어 타입의 타겟 문장으로 변환할 수 있다. 예를 들어, 번역 엔진(400)을 위한 복수의 인스트럭션들은 전자 장치(200)의 메모리(220)에 저장될 수 있다. 프로세서(210)는 번역 엔진(400)을 위한 복수의 인스트럭션들을 실행하는 것에 기반하여, 제1 언어 타입의 소스 문장을 제2 언어 타입의 타겟 문장으로 변환할 수 있다.
일 실시 예에 따르면, 번역 엔진(400)은 도메인(또는 분야)에 기반하여 동작할 수 있다. 예를 들어, 번역 엔진(400)은 복수의 전문 엔진들(430)을 포함할 수 있다. 복수의 전문 엔진들(430) 각각은 소스 문장과 관련된 도메인에 따라 활성화될 수 있다. 제1 전문 엔진(430-1)은 제1 도메인과 관련될 수 있다. 소스 문장이 제1 도메인과 관련됨을 식별하는 것에 기반하여, 제1 전문 엔진(430-1)이 활성화될 수 있다. 일 예로, 복수의 전문 엔진들(430)은 대화체를 위한 도메인과 관련된 전문 엔진, 소설을 위한 도메인과 관련된 전문 엔진, 법률 문서를 위한 도메인과 관련된 전문 엔진, 의학 문서를 위한 도메인과 관련된 전문 엔진, 및 공학 문서를 위한 도메인과 관련된 전문 엔진을 포함할 수 있다. 일 예로, 복수의 전문 엔진들(430)은 문장 스타일을 위한 도메인들과 관련된 전문 엔진들을 포함할 수 있다. 문장 스타일들은, 어감(nuance), 단어(word), 및 문맥 중 적어도 하나를 포함할 수 있다. 실시 예에 따라, 도메인은 문서 형식. 분야, 및 시각적(visional) 특징 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 소스 문장의 단어가 순차적으로 입력 값으로 번역 엔진(400)의 입력 값으로 설정될 수 있다. 프로세서(210)는 복수의 전문 엔진들(430)을 포함하는 번역 엔진(400)에 기반하여, 타겟 문장을 식별할 수 있다. 프로세서(210)는 번역 엔진(400)을 이용하여, 타겟 문장과 관련된 도메인을 식별할 수 있다. 프로세서(210)는 식별된 도메인과 관련된 전문 엔진을 이용하여 타겟 문장을 식별할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 동작 401 내지 동작 407에 기반하여, 소스 문장에 대응하는 타겟 문장을 식별(또는 획득)할 수 있다.
동작 401에서, 프로세서(210)는 소스 문장을 임베딩(embedding)할 수 있다. 예를 들어, 프로세서(210)는 소스 문장을 임베딩하는 것에 기반하여, 소스 문장에 포함된 적어도 하나의 단어를 적어도 하나의 벡터로 변경할 수 있다. 프로세서(210)는 소스 문장에 포함된 적어도 하나의 단어를 벡터 공간에 투영(projection)함으로써, 적어도 하나의 단어를 적어도 하나의 벡터로 변경할 수 있다.
동작 402에서, 프로세서(210)는 인코더(encoder)를 이용하여, 복수의 전문 엔진들의 분포에 따라, 적어도 하나의 벡터를 변환할 수 있다.
동작 403에서, 프로세서(210)는 덴스 레이어(dense layer) 및 활성화 함수(activation function)을 이용하여, 전문 엔진 선택 정보를 획득할 수 있다. 예를 들어, 전문 엔진 선택 정보는 복수의 전문 엔진들(430) 중 적어도 하나의 전문 엔진을 선택하기 위한 정보를 포함할 수 있다. 예를 들어, 전문 엔진 선택 정보는 소스 문장에 관한 도메인과 관련된 적어도 하나의 전문 엔진을 선택하기 위한 확률에 대한 정보를 포함할 수 있다. 전문 엔진 선택 정보는 복수의 전문 엔진들(430)의 선택을 위한 분포(또는 확률 분포)에 대한 정보를 포함할 수 있다.
동작 404에서, 프로세서(210)는 이전 타겟 문장을 임베딩할 수 있다. 프로세서(210)는 번역 대상인 소스 문장 이전에 입력된 이전 소스 문장에 대응하는 이전 타겟 문장을 임베딩할 수 있다.
동작 405에서, 프로세서(210)는 어텐션 함수(attention function) 및 FNN(feed forward network)를 이용하여, 소스 문장 내에서 집중해야 하는 단어를 식별할 수 있다.
동작 406에서, 프로세서(210)는 전문 엔진 선택 정보 및 동작 405에 따른 데이터를 복수의 전문 엔진들(430) 중 적어도 하나의 전문 엔진들의 입력 값으로 설정할 수 있다. 프로세서(210)는 argmax 함수를 이용하여, 복수의 전문 엔진들(430)의 선택을 위한 확률의 최댓값을 식별할 수 있다. 프로세서(210)는, 복수의 전문 엔진들(430)의 선택을 위한 확률의 최댓값에 기반하여, 복수의 전문 엔진들(430) 중, 적어도 하나의 전문 엔진을 활성화할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 소스 문장에 포함된 적어도 하나의 단어를 순차적으로 적어도 하나의 전문 엔진들의 입력 값으로 설정할 수 있다.
동작 407에서, 프로세서(210)는 로짓(logit) 함수를 이용하여 타겟 문장을 구성하는 단어들을 식별할 수 있다. 프로세서(210)는 타겟 문장을 구성하는 단어들을 조합하여 타겟 문장을 식별할 수 있다. 예를 들어, 프로세서(210)는 소스 문장에 대응하는 제2 언어 타입의 타겟 문장을 식별할 수 있다.
도 5는 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 5를 참조하면, 번역 서비스를 제공하기 위한 시스템(550)은, 전자 장치(200) 및 외부 전자 장치(500)를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 도메인 식별 엔진(510)을 포함할 수 있다. 전자 장치(200)의 프로세서(210)는 도메인 식별 엔진(510)을 이용하여, 복수의 전문 엔진들(430) 중 적어도 하나를 지시하는 정보를 획득(또는 식별)할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 복수의 전문 엔진들(430)을 포함할 수 있다. 복수의 전문 엔진들(430) 각각은 복수의 번역 회로들(520)로 구성될 수 있다. 예를 들어, 제1 번역 회로(520-1)는 제1 전문 엔진(430-1) 및 제1 전문 엔진(430-1)의 입력 및 출력 값을 변환하기 위한 컴포넌트들(예: 논리적 컴포넌트(또는 모듈))을 포함할 수 있다. 예를 들어, 제2 번역 회로(520-2)는 제2 전문 엔진(430-2) 및 제2 전문 엔진(430-2)의 입력 및 출력 값을 변환하기 위한 컴포넌트들을 포함할 수 있다. 예를 들어, 프로세서(210)는 복수의 번역 회로들(520)을 독립적으로 학습시키거나 실행할 수 있다. 실시 예에 따라, 외부 전자 장치(500)는 번역 서비스를 제공하기 위한 서버로 참조될 수 있다.
일 실시 예에 따르면, 전자 장치(200)의 프로세서(210)는 복수의 전문 엔진들(430) 중 적어도 하나의 동작 여부를 결정할 수 있다. 프로세서(210)는 소스 문장을 도메인 식별 엔진(510)의 입력 값으로 설정할 수 있다. 프로세서(210)는 도메인 식별 엔진(510)의 출력 값으로, 소스 문장에 관한 적어도 하나의 도메인을 식별할 수 있다. 예를 들어, 소스 문장은 의학 문서를 위한 도메인 관련될 수 있다. 프로세서(210)는 도메인 식별 엔진(510)의 출력 값으로, 의학 문서를 위한 도메인을 식별할 수 있다. 프로세서(210)는 복수의 전문 엔진들(430) 중, 의학 문서를 위한 도메인과 관련된 적어도 하나의 전문 엔진(예: 제1 전문 엔진(430-1))을 식별할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 소스 문장에 기반하여, 복수의 전문 엔진들(430) 중 적어도 하나(예: 복수의 전문 엔진들(430) 중 하나)를 지시하는 정보를 획득할 수 있다. 프로세서(210)는 복수의 전문 엔진들(430) 중 적어도 하나를 지시하는 정보 및 소스 문장을 외부 전자 장치(500)에게 송신할 수 있다. 예를 들어, 복수의 전문 엔진들(430) 중 적어도 하나를 지시하는 정보는 간략화된 라벨(simplified label)으로 구성될 수 있다. 예를 들어, 복수의 전문 엔진들(430) 중 적어도 하나를 지시하는 정보는 복수의 전문 엔진들(430) 중 나머지 엔진들의 출력 값을 0으로 설정하기 위한 정보를 포함할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 복수의 전문 엔진들(430) 중 적어도 하나를 지시하는 정보 및 소스 문장을 전자 장치(200)로부터 수신할 수 있다. 외부 전자 장치(500)는 복수의 전문 엔진들(430) 중 적어도 하나를 활성화할 수 있다. 일 예로, 전자 장치(200)는 복수의 전문 엔진들(430) 중 적어도 하나를 제외한, 나머지 전문 엔진들의 출력 값을 0으로 설정할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 소스 문장을 복수의 전문 엔진들(430) 중 적어도 하나의 입력 값으로 설정할 수 있다. 외부 전자 장치(500)는 복수의 전문 엔진들(430) 중 적어도 하나의 출력 값들을 식별할 수 있다. 외부 전자 장치(500)는 복수의 전문 엔진들(430) 중 적어도 하나의 출력 값들에 기반하여, 타겟 문장을 식별할 수 있다. 외부 전자 장치(500)는 식별된 타겟 문장을 전자 장치(200)에게 송신할 수 있다. 프로세서(210)는 외부 전자 장치(500)로부터 타겟 문장을 수신함으로써, 소스 문장에 대응하는 타겟 문장을 획득할 수 있다. 예를 들어, 타겟 문장의 문장 스타일은 소스 문장의 문장 스타일에 상응할 수 있다. 프로세서(210)는 선택된 전문 엔진을 이용하여, 소스 문장의 문장 스타일이 반영된 타겟 문장을 식별할 수 있다. 프로세서(210)는 소스 문장의 어감, 소스 문장의 도메인에 따른 단어, 및 소스 문장의 문맥이 반영된 타겟 문장을 식별할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 복수의 전문 엔진들(430) 중 적어도 하나(또는 하나)를 선택하고, 선택된 결과를 외부 전자 장치(500)에게 송신할 수 있다. 프로세서(210)는 복수의 전문 엔진들(430) 중 적어도 하나의 전문 엔진을 선택하기 위한 확률을 외부 전자 장치(500)에게 송신하는 것이 아니라, 선택된 결과를 외부 전자 장치(500)에게 송신할 수 있다.
도 6은 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 6을 참조하면, 번역 서비스를 제공하기 위한 시스템(600)은, 전자 장치(200) 및 외부 전자 장치(500)를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 전문 엔진 선택 엔진(610)을 포함할 수 있다. 예를 들어, 전자 장치(200)의 프로세서(210)는 전문 엔진 선택 엔진(610)을 이용하여, 전문 엔진 선택 정보를 획득(또는 식별)할 수 있다.
전자 장치(200)의 프로세서(210)는 번역 대상을 식별할 수 있다. 번역 대상은 복수의 소스 문장들을 포함할 수 있다. 예를 들어, 프로세서(210)는 복수의 소스 문장들을 포함하는 번역 대상에 기반하여, 전문 엔진 선택 정보(expert engine selection information)를 식별할 수 있다. 예를 들어, 프로세서(210)는 전문 엔진 선택 엔진(610)의 입력 값을 번역 대상으로 설정할 수 있다. 프로세서(210)는 전문 엔진 선택 엔진(610)에 복수의 소스 문장들을 순차적으로 입력할 수 있다. 프로세서(210)는 전문 엔진 선택 엔진(610)에 복수의 소스 문장들을 순차적으로 입력하는 것에 기반하여, 전문 엔진 선택 정보를 식별할 수 있다. 예를 들어, 전문 엔진 선택 정보는, 순차적으로 입력된 복수의 소스 문장들에 따라, 시계열 데이터(time series data)의 형태로 구성될 수 있다.
일 실시 예에 따르면, 프로세서(210)는 전문 엔진 선택 정보 및 복수의 소스 문장들을 포함하는 번역 대상을 외부 전자 장치(500)에게 송신할 수 있다. 실시 예에 따라, 프로세서(210)는 전문 엔진 선택 정보 및 복수의 소스 문장들을 포함하는 번역 대상을 압축할 수 있다. 예를 들어, 프로세서(210)는 상태 천이의 확률 편중(state transition probability bias)에 기반하여, 전문 모델 선택 정보 및 복수의 소스 문장들을 포함하는 번역 대상을 압축할 수 있다. 번역 대상의 성격(또는 타입)이 명확한 경우, 매 단어(또는 문장)마다 도메인이 동일하게 유지될 확률이 높을 수 있다. 따라서, 프로세서(210)는 상태 천이의 확률적 편중을 이용하여 적응적으로 동작하는 가변 부호화 방식에 기반하여, 전문 엔진 선택 정보 및 복수의 소스 문장들을 포함하는 번역 대상을 압축할 수 있다.
예를 들어, 프로세서(210)는 CABAC(context-based adaptive binary arithmetic coding) 기법에 기반하여, 전문 엔진 선택을 위한 엔진을 업데이트할 수 있다. 프로세서(210)는 유리한 가변 길이 코드를 부여하는 것에 기반하여, 전문 엔진 선택 정보 및 복수의 소스 문장들을 포함하는 번역 대상을 압축할 수 있다.
예를 들어, 프로세서(210)는 전문 엔진 선택 정보 및 복수의 소스 문장들을 포함하는 번역 대상이 압축된 정보를 외부 전자 장치(500)에게 송신할 수 있다. 프로세서(210)는 외부 전자 장치(500)에게 송신하는 정보의 크기를 줄이기 위해, 압축된 정보를 외부 전자 장치(500)에게 송신할 수 있다.
일 실시 예에 따르면, 전문 엔진 선택 정보는, 복수의 전문 엔진들(430) 중 적어도 하나를 활성화하기 위한 정보를 포함할 수 있다. 예를 들어, 프로세서(210)는 권한이 설정되지 않거나, 번역 대상과 관련되지 않은, 나머지 전문 엔진들을 식별할 수 있다. 프로세서(210)는 복수의 전문 엔진들(430) 중, 나머지 전문 엔진들이 제외된, 적어도 하나의 전문 엔진을 활성화하기 위한 정보를 포함하는 전문 엔진 선택 정보를 식별할 수 있다.
예를 들어, 프로세서(210)는 전문 엔진 선택 정보를 식별함으로써, 복수의 전문 엔진들(430) 각각의 동작 여부를 결정할 수 있다. 프로세서(210)는 외부 전자 장치(500)에 포함된 복수의 전문 엔진들(430) 각각의 동작 여부를 제어할 수 있다. 일 예로, 복수의 전문 엔진들(430)은 구독 서비스에 기반하여 동작할 수 있다. 프로세서(210)는 복수의 전문 엔진들(430) 중 구독 되지 않은 전문 엔진들(또는 권한이 없는 전문 엔진들)을 비활성화할 수 있다. 일 에로, 프로세서(210)는 전자 장치(200)의 사용자에게 민감한 도메인(예: 종교를 위한 도메인, 인권 분야를 위한 도메인)과 관련된 전문 엔진들의 동작을 제어할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 전문 엔진 선택 정보 및 번역 대상이 압축된 정보를 전자 장치(200)로부터 수신할 수 있다. 외부 전자 장치(500)는 전문 엔진 선택 정보 및 번역 대상이 압축된 정보에 기반하여, 복수의 전문 엔진들(430) 중 적어도 하나를 식별할 수 있다. 외부 전자 장치(500)는 복수의 전문 엔진들(430) 중 적어도 하나의 출력 값들을 식별할 수 있다. 외부 전자 장치(500)는 복수의 전문 엔진들(430) 중 적어도 하나의 출력 값들에 기반하여, 복수의 타겟 문장들을 식별할 수 있다. 외부 전자 장치(500)는 식별된 복수의 타겟 문장들을 전자 장치(200)에게 송신할 수 있다. 프로세서(210)는 외부 전자 장치(500)로부터 복수의 타겟 문장들을 수신함으로써, 복수의 소스 문장들에 대응하는 복수의 타겟 문장들을 획득할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 전문 엔진 선택 정보 및 번역 대상이 압축된 정보에 기반하여, 복수의 전문 엔진들(430) 중 적어도 하나를 활성화할 수 있다. 일 예로, 전자 장치(200)는 복수의 전문 엔진들(430) 중 적어도 하나를 제외한, 나머지 전문 엔진들의 출력 값을 0으로 설정할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 복수의 타겟 문장들을 획득하기 위해, 이전(previous) 타겟 문장을 식별할 수 있다. 외부 전자 장치(500)는 이전 타겟 문장, 소스 문장, 및 전문 엔진 선택 정보를 이용하여 타겟 문장을 식별할 수 있다. 타겟 문장을 식별하기 위해, 이전 타겟 문장이 사용될 수 있다. 타겟 문장의 문장 스타일(예: 어감, 단어, 및 문맥)은 이전 타겟 문장의 문장 스타일에 상응할 수 있다.
일 실시 예에 따르면, 전자 장치(200)의 프로세서(210)는 전문 엔진 선택 정보 및 소스 문장을 포함하는 소스 정보를 분할하여 외부 전자 장치(500)에게 송신할 수 있다. 외부 전자 장치(500)는 분할된 소스 정보를 버퍼에 저장할 수 있다. 외부 전자 장치(500)는 분할된 소스 정보에 기반하여, 타겟 문장을 식별할 수 있다. 실시 예에 따라, 프로세서(210)는 전문 엔진 선택 정보 및 소스 문장 중 전문 엔진 선택 정보만을 분할하여 외부 전자 장치에게 송신할 수도 있다.
예를 들어, 외부 전자 장치(500)는 소스 문장을 복수의 블록들로 구분할 수 있다. 하나의 블록은 적어도 하나의 단어로 구성될 수 있다. 외부 전자 장치(500)는 블록을 복수의 전문 엔진들(430) 중 적어도 하나의 입력 값으로 설정할 수 있다. 외부 전자 장치(500)는 복수의 블록들을 순차적으로 복수의 전문 엔진들(430) 중 적어도 하나의 입력 값으로 설정함으로써, 복수의 블록들에 대한 변역 결과들을 식별할 수 있다. 외부 전자 장치(500)는 복수의 블록들에 대한 변역 결과들을 조합함으로써, 타겟 문장을 식별할 수 있다.
도 7은 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 7을 참조하면, 번역 서비스를 제공하기 위한 시스템(700)은 전자 장치(200) 및 외부 전자 장치(500)를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 비전 정보 식별 엔진 (710)을 포함할 수 있다. 예를 들어, 전자 장치(200)의 프로세서(210)는 비전 정보 식별 엔진(710)을 이용하여, 이미지에 관한 적어도 하나의 파라미터를 획득(또는 식별)할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 이미지를 획득할 수 있다. 획득된 이미지는 소스 문장과 관련될 수 있다. 획득된 이미지는 소스 문장을 포함할 수 있다. 획득된 이미지는 소스 문장과 관련된 환경을 나타낼 수 있다. 예를 들어, 획득된 이미지는, 소스 문장을 포함하는 객체 및 외부 환경에 대한 적어도 하나의 객체를 포함할 수 있다. 일 예로, 프로세서(210)는 신문에 대한 이미지를 식별할 수 있다. 획득된 신문에 대한 이미지는 기사(article)를 나타내는 객체, 광고를 나타내는 객체, 및 신문 이름을 나타내는 객체 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 획득된 이미지를 비전 정보 식별 엔진(710)의 입력 값(또는 입력 데이터)로 설정할 수 있다. 프로세서(210)는 비전 식별 엔진(710)의 출력 값으로 적어도 하나의 파라미터를 식별할 수 있다. 프로세서(210)는 적어도 하나의 파라미터 및 소스 문장을 외부 전자 장치(500)에게 송신할 수 있다.
예를 들어, 프로세서(210)는 획득된 이미지에 기반하여, 비전 식별 엔진(710)을 이용하여, 도메인을 식별할 수 있다. 프로세서(210)는 비전 식별 엔진(710)을 이용하여, 식별된 도메인에 따른 전문 엔진을 활성화하기 위한 파라미터(또는 적어도 하나의 파라미터)를 식별(또는 획득)할 수 있다. 프로세서(210)는 식별된 파라미터(또는 적어도 하나의 파라미터)를 외부 전자 장치(500)에게 송신할 수 있다.
일 예로, 프로세서(210)는 SNS(social network service)에 따른 이미지를 획득할 수 있다. 프로세서(210)는 획득된 이미지가 SNS를 위한 도메인(또는 대화체를 위한 도메인)과 관련됨을 식별할 수 있다. 프로세서(210)는 SNS를 위한 도메인(또는 대화체를 위한 도메인)과 관련된 전문 엔진을 활성화하기 위한 파라미터를 외부 전자 장치(500)에게 송신할 수 있다.
일 예로, 프로세서(210)는 획득된 이미지가 논문(thesis paper)을 위한 도메인(또는 지정된 학문을 위한 도메인)과 관련됨을 식별할 수 있다. 프로세서(210)는 논문을 위한 도메인과 관련된 전문 엔진을 활성화하기 위한 파라미터를 외부 전자 장치(500)에게 송신할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 획득된 이미지에 기반하여, 획득된 이미지에 포함된 복수의 객체들을 식별할 수 있다. 프로세서(210)는 복수의 객체들 각각에 대응하는 복수의 라벨들을 식별할 수 있다. 예를 들어, 획득된 이미지는 달력을 나타내는 객체 및 달력 내에 "SUN"으로 표시된 소스 단어를 식별할 수 있다. 프로세서(210)는 달력을 나타내는 객체에 따라, "달력" 라벨을 지시하는 파라미터를 식별할 수 있다. 프로세서(210)는 "SUN"으로 표시된 소스 단어와 함께 "달력" 라벨을 지시하는 파라미터를 외부 전자 장치(500)에게 송신할 수 있다. 획득된 이미지에 따라, 프로세서(210)는 "SUN"으로 표시된 소스 단어와 함께 "해돋이”,"인파" 및 "숲속" 중 하나의 라벨을 지시하는 파라미터를 외부 전자 장치(500)에게 송신할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 개행 정책(line break policy)을 결정하기 위한 파라미터를 획득(또는 식별)할 수 있다. 프로세서(210)는 이미지에 포함된 소스 문장을 구성하는 적어도 하나의 단어를 식별할 수 있다. 프로세서(210)는 적어도 하나의 단어의 위치를 식별할 수 있다. 프로세서(210)는 적어도 하나의 단어의 위치(또는 행(line)) 및 이미지(또는 이미지에 포함된 복수의 객체들)에 기반하여, 개행 정책을 결정하기 위한 파라미터를 획득(또는 식별)할 수 있다. 프로세서(210)는 개행 정책을 결정하기 위한 파라미터를 외부 전자 장치(500)에게 송신할 수 있다. 외부 전자 장치(500)는 개행 정책이 적용되지 않은 소스 문장을 개행 정책이 적용된 소스 문장으로 변환(또는 변경)할 수 있다.
예를 들어, 프로세서(210)는 신문 기사에 대한 이미지를 획득할 수 있다. 프로세서(210)는 이미지에 포함된 소스 문장을 구성하는 적어도 하나의 단어의 위치(또는 행)을 식별할 수 있다. 프로세서(210)는 이미지에 기반하여, 소스 문장이 기사의 제목을 나타내는 것을 식별할 수 있다. 프로세서(210)는, 개행 정책을 결정하기 위한 파라미터를 외부 전자 장치(500)에게 송신할 수 있다. 개행 정책을 결정하기 위한 파라미터는 소스 문장이 기사의 제목을 나타내는 정보를 포함할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 획득된 이미지를 외부 전자 장치(500)에게 송신하지 않고, 이미지에 기반하여 획득된 적어도 하나의 파라미터를 외부 전자 장치(500)에게 송신할 수 있다. 일 실시 예에 따르면, 프로세서(210)는 이미지에 기반하여 획득된 적어도 하나의 파라미터를 외부 전자 장치(500)에게 송신함으로써, 네트워크 트래픽을 감소시킬 수 있다.
일 실시 예에 따르면, 프로세서(210)는 이미지에 기반하여 획득된 적어도 하나의 파라미터를, 전자 장치(200)로부터 외부 전자 장치(500)의 attention 레이어(attention 함수가 실행되는 레이어) 사이의 직접 채널(direct channel)(또는 통신 경로)를 통해 외부 전자 장치(500)에게 송신할 수 있다. 프로세서(210)는 복수의 전문 엔진들(430) 중, 소스 문장을 타겟 문장으로 변경하기 위한, 적어도 하나의 전문 엔진을 적어도 하나의 파라미터를 이용하여, 설정할 수 있다.
일 실시 예에 따르면, 전자 장치(200)의 프로세서(210)가 적어도 하나의 파라미터를 외부 전자 장치(500)로 송신하는 경우, 외부 전자 장치(500)는 적어도 하나의 파라미터를 이용하여, 대표 언어 타입(예: 영어)을 통해 학습을 수행하거나, 소스 언어 타입으로 구성된 적어도 하나의 파라미터를 학습해야 한다. 따라서, 대표 언어 타입이 사용되는 경우, 일부 언어 타입 간의 차이가 타겟 문장(또는 번역 결과)에 영향을 미칠 수 있고, 소스 언어 타입으로 구성된 적어도 하나의 파라미터가 학습되는 경우, 각 언어별 전문 엔진을 통한 개별 학습이 필요할 수 있다. 따라서, 도 8에서, 전자 장치(200)에서 적어도 하나의 특징점에 대한 정보 및 소스 문장을 외부 전자 장치(500)에게 송신하는 것에 기반하여, 타겟 문장이 획득되는 실시 예게 설명될 수 있다.
도 8은 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 8을 참조하면, 번역 서비스를 제공하기 위한 시스템(800)은 전자 장치(200) 및 외부 전자 장치(500)를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 비전 정보 식별 엔진(810)을 포함할 수 있다. 예를 들어, 전자 장치(200)의 프로세서(210)는 비전 정보 식별 엔진(810)을 이용하여, 특징점 정보를 식별할 수 있다. 도 8의 비전 정보 식별 엔진(810)은 도 7의 비전 정보 식별 엔진(710)과 구별될 수 있다. 도 8의 비전 정보 식별 엔진(810)은 이미지에 기반하여, 적어도 하나의 벡터로 구성된 특징점 정보를 식별(또는 획득)하기 위해 사용될 수 있다. 도 7의 비전 정보 식별 엔진(710)은 이미지에 관한 적어도 하나의 파라미터를 식별(또는 획득)하기 위해 사용될 수 있다. 일 예로, 비전 정보 식별 엔진(710)은 이미지에 기반하여 식별된 특징점 정보를 이용하여, 적어도 하나의 파라미터를 획득할 수 있다. 도 8의 비전 정보 식별 엔진(810)은 도 7의 비전 정보 식별 엔진(710)의 구성의 일부 또는 전부로 구성될 수 있다.
일 실시 예에 따르면, 프로세서(210)는 이미지를 비전 정보 식별 엔진(810)의 입력 값(또는 입력 데이터)으로 설정할 수 있다. 프로세서(210)는 비전 정보 식별 엔진(810)의 출력 값으로 특징점 정보를 식별(또는 획득)할 수 있다. 예를 들어, 특징점 정보는 벡터로 구성될 수 있다. 특징점 정보는 비전 컨텍스트 벡터로 참조될 수 있다. 프로세서(210)는 이미지에 기반하여 식별된(또는 획득된), 특징점 정보 및 이미지에 포함된 소스 문장을 외부 전자 장치(500)에게 송신할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 전자 장치(200)로부터 특징점 정보 및 소스 문장을 수신할 수 있다. 외부 전자 장치(500)는 벡터 프로젝터(vector projector)(820)를 이용하여, 특징점 정보를 언어 벡터 공간(language vector space)으로 전사할 수 있다. 예를 들어, 외부 전자 장치(500)는 특징점 정보를 언어 벡터 공간으로 전사함으로써, 단어의 문맥상 의미를 식별할 수 있다. 외부 전자 장치(500)는 단어의 문맥상 의미를 타겟 문장의 단어를 구성하기 위해 사용할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 특징점 정보 및 소스 문장에 기반하여, 전문 엔진 선택 정보를 식별할 수 있다. 외부 전자 장치(500)는 전문 엔진 선택 정보에 기반하여, 복수의 전문 엔진들(430) 중 적어도 하나를 활성화할 수 있다. 예를 들어, 프로세서(210)는 전문 엔진 선택 정보, 언어 벡터 공간으로 전사된 정보 및 소스 문장에 기반하여, 타겟 문장을 식별할 수 있다. 외부 전자 장치(500)는 타겟 문장을 전자 장치(200)에게 송신할 수 있다. 전자 장치(200)의 프로세서(210)는 타겟 문장을 전자 장치(200)의 사용자에게 제공할 수 있다.
도 9는 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 9를 참조하면, 도 4 내지 도 8에서 도시된, 시스템(400) 내지 시스템(800)은 서로 연계되어 동작할 수 있다. 예를 들어, 시스템(600) 및 시스템(800)은 서로 연계되어 동작할 수 있다.
일 실시 예에 따르면, 시스템(900)은 시스템(600) 및 시스템(800)이 연계된 시스템일 수 있다. 시스템(900)은 시스템(600)의 구성의 적어도 일부 및 시스템(800)의 구성의 적어도 일부를 포함할 수 있다.
시스템(600)에 따라, 전자 장치(200)의 프로세서(210)는 이미지에 포함된 소스 문장에 기반하여, 전문 엔진 선택 정보를 식별할 수 있다. 시스템(800)에 따라, 전자 장치(200)의 프로세서(210)는 이미지에 기반하여, 특징점 정보를 식별할 수 있다. 프로세서(210)는 전문 엔진 선택 정보, 특징점 정보, 및 소스 문장을 외부 전자 장치(500)에게 송신할 수 있다. 외부 전자 장치(500)는 전자 장치(200)로부터 전문 엔진 선택 정보, 특징점 정보, 및 소스 문장에 기반하여, 복수의 전문 엔진들(430) 중 적어도 하나를 통해, 타겟 문장을 식별할 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 비전 정보 식별 엔진(910), 소스 문장 식별 엔진(920), 및 전문 엔진 선택 엔진(930)을 포함할 수 있다.
예를 들어, 비전 정보 식별 엔진(910)은 이미지에 기반하여 특징점 정보를 획득하기 위해 사용될 수 있다. 비전 정보 식별 엔진(910)은 도 8의 비전 정보 식별 엔진(810)에 상응할 수 있다.
예를 들어, 소스 문장 식별 엔진(920)은 이미지에 포함된 소스 문장을 식별(또는 획득)하기 위해 사용될 수 있다. 프로세서(210)는 소스 문장 식별 엔진(920)을 이용하여, 이미지에 포함된 소스 문장을 식별할 수 있다. 프로세서(210)는 소스 문장 식별 엔진(920)을 이용하여, 이미지에 대한 OCR을 수행할 수 있다. 프로세서(210)는 이미지에 대한 OCR을 통해 이미지에 포함된 소스 문장을 식별할 수 있다.
예를 들어, 전문 엔진 선택 엔진(930)은 소스 문장에 기반하여, 전문 엔진 선택 정보를 식별하기 위해 사용될 수 있다. 프로세서(210)는 소스 문장 식별 엔진(920)에 기반하여, 소스 문장을 식별하고, 식별된 소스 문장을 전문 엔진 선택 엔진(930)의 입력 값으로 설정할 수 있다. 프로세서(210)는 전문 엔진 선택 엔진(930)의 출력 값으로, 전문 엔진 선택 정보를 획득(또는 식별)할 수 있다. 도시하지는 않았으나, 프로세서(210)는 소스 문장, 이미지, 및 특징점 정보 중 적어도 하나에 기반하여, 전문 엔진 선택 엔진(930)을 이용하여, 전문 엔진 선택 정보를 획득할 수도 있다.
일 실시 예에 따르면, 프로세서(210)는 전문 엔진 선택 정보, 특징점 정보, 및 소스 문장을 외부 전자 장치(500)에게 송신할 수 있다. 외부 전자 장치(500)는 전문 엔진 선택 정보, 특징점 정보, 및 소스 문장을 전자 장치(200)로부터 수신할 수 있다.
예를 들어, 외부 전자 장치(500)는 벡터 프로젝터(940)를 이용하여, 특징점 정보를 언어 벡터 공간으로 전사할 수 있다. 예를 들어, 외부 전자 장치(500)는 소스 문장 및 이전 타겟 문장을 임베딩할 수 있다. 예를 들어, 외부 전자 장치(500)는 어텐션 함수(attention function) 및 FNN(feed forward network)를 이용하여, 소스 문장 내에서 집중해야 하는 단어를 식별할 수 있다. 예를 들어, 외부 전자 장치(500)는 argmax 함수를 이용하여, 복수의 전문 엔진들(430)의 선택을 위한 확률이 최대가 되는 출력을 식별할 수 있다. 외부 전자 장치(500)는 복수의 전문 엔진들(430) 중 적어도 하나의 전문 엔진을 식별할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 복수의 전문 엔진들(430)의 적어도 하나의 전문 엔진을 식별하는 것에 기반하여, 적어도 하나의 전문 엔진을 이용하여, 타겟 문장을 식별(또는 획득)할 수 있다. 예를 들어, 외부 전자 장치(500)는 복수의 전문 엔진들(430) 중 적어도 하나의 전문 엔진을 활성화할 수 있다. 외부 전자 장치(500)는 복수의 전문 엔진들(430) 중 나머지 전문 엔진을 비활성화할 수 있다. 예를 들어, 외부 전자 장치(500)는 복수의 전문 엔진들(430) 중 적어도 하나의 전문 엔진의 출력 값을 식별할 수 있다. 전자 장치(200)는 복수의 전문 엔진들(430) 중 나머지 전문 엔진의 출력 값을 0으로 설정할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 소스 문장에 포함된 적어도 하나의 단어를 순차적으로 적어도 하나의 전문 엔진들의 입력 값으로 설정할 수 있다. 외부 전자 장치(500)는 프로세서(210)는 로짓(logit) 함수를 이용하여 타겟 문장을 구성하는 단어들을 식별할 수 있다. 외부 전자 장치(500)는 타겟 문장을 구성하는 단어들을 조합하여 타겟 문장을 식별할 수 있다. 예를 들어, 외부 전자 장치(500)는 제1 언어 타입의 소스 문장에 대응하는 제2 언어 타입의 타겟 문장을 식별할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 타겟 문장을 전자 장치(200)에게 송신할 수 있다. 전자 장치(200)의 프로세서(210)는 타겟 문장을 외부 전자 장치(500)로부터 수신할 수 있다.
예를 들어, 타겟 문장의 문장 스타일은 소스 문장의 문장 스타일에 상응할 수 있다. 타겟 문장은 소스 문장의 문장 스타일에 기반하여, 식별될 수 있다. 타겟 문장은, 소스 문장의 어감, 소스 문장의 도메인에 따른 단어, 및 소스 문장의 문맥에 기반하여, 식별될 수 있다.
도 9는 도 6의 시스템(600) 및 도 8의 시스템(800)이 연계되어 동작하는 예를 도시하였으나 이에 한정되는 것은 아니다. 실시 예에 따라, 도 4 내지 도 8에서 도시된, 시스템(400) 내지 시스템(800) 중 둘 이상의 시스템들이 연계되어 동작할 수도 있다.
도 10은 일 실시 예에 따른 복수의 전문 엔진들을 이용하여 번역 서비스를 제공하기 위한 시스템의 동작의 예를 도시한다.
도 10을 참조하면, 시스템(1000)은 전자 장치(200) 및 외부 전자 장치(500)를 포함할 수 있다. 시스템(1000) 내에서, 전자 장치(200) 및 외부 전자 장치(500)는, 전자 장치(200) 및 외부 전자 장치(500)에 포함된 복수의 엔진들 및 복수의 모듈들을 학습시킬 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 비전 정보 식별 엔진(1010)을 포함할 수 있다. 전자 장치(200)의 프로세서(210)는 비전 정보 식별 엔진(1010)을 이용하여, 이미지에 관한 데이터 및 이미지 내에 포함된 소스 문장에 관한 데이터를 외부 전자 장치(500)에게 송신할 수 있다. 예를 들어, 이미지에 관한 데이터는, 이미지의 메타 데이터, 이미지 내의 장면(scene)에 대한 데이터, 이미지 내에 포함된 복수의 객체들에 관한 리스트, 및 특징점 정보 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 전자 장치(200)로부터 이미지에 관한 데이터 및 이미지 내에 포함된 소스 문장에 관한 데이터를 수신할 수 있다.
예를 들어, 외부 전자 장치(500)는, 이미지에 관한 데이터 및 소스 문장에 관한 데이터에 기반하여, 번역 엔진(1020)을 이용하여, 타겟 문장을 식별할 수 있다. 예를 들어, 번역 엔진(1020)은 복수의 전문 엔진들(430)을 포함할 수 있다. 외부 전자 장치(500)는 식별된 타겟 문장을 전자 장치(200)에게 송신할 수 있다.
예를 들어, 외부 전자 장치(500)는 전처리(pre-processing) 모듈(1030)을 이용하여, 이미지에 관한 데이터 및 소스 문장에 관한 데이터를 전처리할 수 있다. 외부 전자 장치(500)는 전처리된 데이터를 제1 데이터 베이스(1040)에 저장할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 제1 데이터 베이스(1040)에 저장된 데이터의 크기가 기준 크기 이상으로 식별되는 것에 기반하여, 제1 데이터 베이스(1040)에 저장된 데이터를 학습을 위해 사용할 수 있다. 예를 들어, 외부 전자 장치(500)는 번역 학습 모델(1050) 및 비전 정보 학습 모델(1060)을 제1 데이터 베이스(1040)에 저장된 데이터를 이용하여 학습시킬 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 학습이 완료된 번역 학습 모델(1050) 및 학습이 완료된 비전 정보 학습 모델(1060)의 체크 포인트(또는 가중치(weight))를 제2 데이터 베이스(1070)에 저장할 수 있다.
일 실시 예에 따르면, 외부 전자 장치(500)는 제2 데이터 베이스(1070)에 저장된 학습이 완료된, 번역 학습 모델(1050) 및 학습이 완료된 비전 정보 학습 모델(1060)의 체크 포인트(또는 가중치(weight))를 이용하여, 번역 엔진(1020)을 학습시킬 수 있다.
일 실시 예에 따르면, 전자 장치(200)의 프로세서(210)는 외부 전자 장치(500)의 복수의 모델들 및 복수의 엔진들을 학습시키기 위해, 이미지에 관한 데이터 및 소스 문장에 관한 데이터를 외부 전자 장치(500)에게 송신할 수 있다. 실시 예에 따라, 전자 장치(200)(또는 전자 장치(200)의 사용자)는 이미지에 관한 데이터 및 소스 문장에 관한 데이터를 외부 전자 장치(500)에게 송신함으로써, 보상(reward)을 받을 수 있다. 또한 전자 장치(200)는 이미지에 관한 데이터 및 소스 문장에 관한 데이터를 외부 전자 장치(500)에게 송신함으로써, 외부 전자 장치(500)로부터 피드백을 받을 수 있다.
일 실시 예에 따르면, 시스템(1000)은 Rest API(representational state transfer application programming interface)에 기반하여 설계될 수 있다. 예를 들어, API 레벨에서, 소스 언어 타입, 타겟 언어 타입 및 소스 문장 외에도, 소스 문장(또는 문서)의 성격을 나타내는 파라미터가 추가로 포함되는 경우, 시스템(1000)은 Rest API에 기반하여 설계될 수 있다. 예를 들어, API 레벨에서 소스 언어 타입, 타겟 언어 타입 및 소스 문장 외에도, 이미지의 특징점 정보를 나타내는 파라미터가 추가로 포함되는 경우, 시스템(1000)은 Rest API에 기반하여 설계될 수 있다. 예를 들어, API 레벨에서 소스 언어 타입, 타겟 언어 타입 및 소스 문장 외에도, 소스 문장(또는 문서)의 성격을 나타내는 파라미터 및 이미지의 특징점 정보를 나타내는 파라미터가 추가로 포함되는 경우, 시스템(1000)은 Rest API에 기반하여 설계될 수 있다.
도 11은 일 실시 예에 따른 전자 장치의 동작에 관한 흐름도를 도시한다.
도 11을 참조하면, 동작 1110에서, 프로세서(210)는 소스 문장을 포함하는 이미지를 획득할 수 있다. 예를 들어, 프로세서(210)는 제1 언어 타입의 소스 문장을 포함하는 이미지를 획득할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 OCR을 이용하여, 이미지에 포함된 소스 문장을 식별할 수 있다. 예를 들어, 프로세서(210)는 소스 문장 식별 엔진을 이용하여 이미지에 포함된 소스 문장을 식별할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 이미지에 포함된 소스 문장의 개행 정책을 결정할 수 있다. 예를 들어, 프로세서(210)는 이미지에 포함된 소스 문장의 줄 바꿈을 수행할 수 있다. 프로세서(210)는 개행 정책이 적용되지 않은 소스 문장을 개행 정책이 적용된 소스 문장으로 변환(또는 변경)할 수 있다.
동작 1120에서, 프로세서(210)는 이미지의 특징점 정보를 식별할 수 있다. 예를 들어, 프로세서(210)는 이미지를 획득하는 것에 기반하여, 소스 문장을 제1 모델의 입력 값으로 설정함으로써, 제1 모델의 출력 값으로 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위한 전문 엔진 선택 정보를 획득할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 소스 문장을 제1 모델의 입력 값으로 설정할 수 있다. 예를 들어, 제1 모델은, 소스 문장에 기반하여, 전문 엔진 선택 정보를 획득하기 위해 사용될 수 있다. 제1 모델은 전문 엔진 선택 엔진으로 참조될 수 있다. 프로세서(210)는 제1 모델의 출력 값으로 전문 엔진 선택 정보를 획득(또는 식별)할 수 있다. 예를 들어, 전문 엔진 선택 정보는 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위한 정보를 포함할 수 있다. 일 예로, 전문 엔진 선택 정보는, 복수의 전문 엔진 들 중, 소스 문장에 관한 도메인과 관련된 적어도 하나의 전문 엔진을 선택하기 위한 확률에 대한 정보를 포함할 수 있다. 일 예로, 전문 엔진 선택 정보는 복수의 전문 엔진들(430)의 선택을 위한 분포(또는 확률 분포)에 대한 정보를 포함할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 복수의 전문 엔진들의 사용 권한에 관한 정보를 식별할 수 있다. 프로세서(210)는 복수의 전문 엔진들의 사용 권한에 관한 정보에 기반하여, 복수의 전문 엔진들 중, 권한이 설정된 엔진들을 식별할 수 있다. 프로세서(210)는 권한이 설정된 엔진들 중, 적어도 하나의 전문 엔진을 식별할 수 있다.
동작 1130에서, 프로세서(210)는 이미지의 특징점 정보를 식별할 수 있다. 예를 들어, 프로세서(210)는 이미지를 획득하는 것에 기반하여, 이미지를 제1 모델과 구별되는 제2 모델의 입력 값으로 설정함으로써, 제2 모델의 출력 값으로, 이미지의 특징점 정보를 식별할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 이미지를 제2 모델의 입력 값으로 설정할 수 있다. 예를 들어, 제2 모델은 비전 정보 식별 엔진으로 참조될 수 있다. 프로세서(210)는 제2 모델의 출력 값으로 특징점 정보를 식별(또는 획득)할 수 있다. 예를 들어, 특징점 정보는 벡터로 구성될 수 있다. 특징점 정보는 비전 컨텍스트 벡터로 참조될 수 있다.
일 실시 예에 따르면, 동작 1120 및 동작 1130은 순차적으로 수행되는 것으로 설명되었으나, 이에 제한되는 것은 아니다. 예를 들어, 동작 1130은 동작 1120보다 먼저 수행될 수도 있다. 예를 들어, 동작 1120 및 동작 1130은 동시에 수행될 수도 있다.
동작 1140에서, 프로세서(210)는 타겟 문장을 수신할 수 있다. 예를 들어, 프로세서(210)는 소스 문장, 전문 엔진 선택 정보, 및 특징점 정보를 전자 장치와 연결된 외부 전자 장치에게 송신하는 것에 기반하여, 소스 문장에 대응하고, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 소스 문장에 따른 문장 스타일에 기반하여 생성된, 제2 언어 타입의 타겟 문장을 수신할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 소스 문장, 전문 엔진 선택 정보, 및 특징점 정보를 외부 전자 장치에게 송신할 수 있다. 예를 들어, 소스 문장, 전문 엔진 선택 정보, 및 특징점 정보는 압축되어 외부 전자 장치에게 송신될 수 있다. 일 예로, 프로세서(210)는 소스 문장, 전문 엔진 선택 정보, 및 특징점 정보를 CABAC(context-based adaptive binary arithmetic coding)에 기반하여, 압축할 수 있다. 프로세서(210)는 소스 문장, 전문 엔진 선택 정보, 및 특징점 정보가 압축된 정보를 외부 전자 장치에게 송신할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 제1 언어 타입의 소스 문장에 대응하는 제2 언어 타입의 타겟 문장을 식별하기 위해, 소스 문장, 전문 엔진 선택 정보, 및 특징점 정보를 외부 전자 장치에게 송신할 수 있다. 프로세서(210)는 제1 언어 타입의 소스 문장에 대응하는 제2 언어 타입의 타겟 문장을 식별(또는 획득)하도록 외부 전자 장치를 야기하는 신호를 외부 전자 장치에게 송신할 수 있다.
예를 들어, 특징점 정보는 벡터 프로젝터를 이용하여, 언어 벡터 공간으로 전사될 수 있다. 언어 벡터 공간으로 전사된 특징점 정보는, 소스 문장과 함께 타겟 문장을 식별하기 위해 사용될 수 있다. 일 예로, 언어 벡터 공간으로 전사된 특징점 정보는 단어의 문맥(또는 상황)에 따른 의미를 식별하기 위해 사용될 수 있다. 실시 예에 따라, 언어 벡터 공간으로 전사된 특징점 정보는 단어의 문맥(또는 상황)에 따른 의미를 식별하기 위해 보조적으로 사용될 수 있다.
예를 들어, 전문 엔진 선택 정보는, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위해 사용될 수 있다. 외부 전자 장치(500)는 전문 엔진 선택 정보에 기반하여, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 활성화할 수 있다. 외부 전자 장치(500)는 외부 전자 장치(500)는 전문 엔진 선택 정보에 기반하여, 복수의 전문 엔진들 중 나머지 전문 엔진들을 비활성화할 수 있다.
일 실시 예에 따르면, 제2 언어 타입의 타겟 문장은, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 소스 문장에 따른 문장 스타일에 기반하여 획득될 수 있다. 예를 들어, 소스 문장에 따른 문장 스타일은 소스 문장의 어감(nuance), 소스 문장 도메인에 따른 단어(word), 및 소스 문장의 문맥(context) 중 적어도 하나를 포함할 수 있다. 타겟 문장의 문장 스타일은 소스 문장의 문장 스타일에 상응할 수 있다. 프로세서(210)는 소스 문장의 어감, 소스 문장의 도메인에 따른 단어, 및 소스 문장의 문맥이 반영된 타겟 문장을 식별할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 소스 문장, 전문 엔진 선택 정보, 및 특징점 정보 외에도 추가적인 정보 또는 데이터를 외부 전자 장치(500)에게 송신할 수 있다.
예를 들어, 프로세서(210)는 이미지에 포함된 복수의 객체들을 식별할 수 있다. 프로세서(210)는 이미지에 포함된 복수의 객체들을 식별하는 것에 기반하여, 복수의 객체들을 나타내는 리스트를 식별할 수 있다. 프로세서(210)는 식별된 리스트를 외부 전자 장치에게 송신할 수 있다.
예를 들어, 프로세서(210)는 이미지 및 소스 문장에 기반하여, 개행 정책을 결정하기 위한 파라미터를 식별할 수 있다. 프로세서(210)는 식별된 파라미터를 외부 전자 장치에게 송신할 수 있다. 소스 문장은, 개행 정책을 결정하기 위한 파라미터에 기반하여, 개행 정책이 적용되지 않은 상태로부터 개행 정책이 적용된 상태로 변경될 수 있다. 일 예로, 외부 전자 장치(500)는 전자 장치(200)로부터 수신된 파라미터에 기반하여, 개행 정책이 적용되지 않은 소스 문장을, 개행 정책이 적용된 소스 문장으로 변경(또는 변환)할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 이미지에 포함된 소스 문장과 구별되는 다른 소스 문장을 식별할 수 있다. 프로세서(210)는 소스 문장에 관한 도메인에 기반하여, 다른 소스 문장에 관한 도메인을 식별할 수 있다. 일 예로, 프로세서(210)는 다른 소스 문장에 관한 도메인을 소스 문장에 관한 도메인으로 식별할 수 있다. 일 예로, 프로세서(210)는 다른 소스 문장에 관한 도메인이 소스 문장에 관한 도메인으로 식별될 확률 값을 높게 설정할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 외부 전자 장치에 포함된 복수의 모델들 및/또는 복수의 엔진들을 학습시키기 위한 데이터를 외부 전자 장치에게 송신할 수 있다.
예를 들어, 프로세서(210)는 이미지의 메타 데이터, 이미지 내의 장면(scene)에 대한 데이터, 및 이미지 내에 포함된 복수의 객체들을 나타내는 리스트를 식별할 수 있다. 프로세서(210)는 이미지의 메타 데이터, 이미지 내의 장면(scene)에 대한 데이터, 및 이미지 내에 포함된 복수의 객체들을 나타내는 리스트를 외부 전자 장치에게 송신함으로써, 복수의 엔진들을 학습시키기 위한 데이터를 학습시킬 수 있다. 일 예로, 소스 문장, 메타 데이터, 장면에 대한 데이터, 및 리스트는, 복수의 전문 엔진들의 학습을 위해 사용될 수 있다. 외부 전자 장치(500)는 메타 데이터, 장면에 대한 데이터, 및 리스트를 이용하여, 복수의 전문 엔진들을 학습시킬 수 있다.
일 실시 예에 따르면, 프로세서(210)는 소스 문장을 분석하여, 소스 문장의 표현, 단어, 및 문체가 주로 사용되는 도메인을 식별할 수 있다. 프로세서(210)는 복수의 전문 엔진들 중, 식별된 도메인과 관련된 적어도 하나의 전문 엔진을 식별할 수 있다. 프로세서(210)는 적어도 하나의 전문 엔진에 기반하여 식별된 타겟 문장을, 외부 전자 장치로부터 수신함으로써, 식별할 수 있다. 따라서, 프로세서(210)는 소스 문장의 표현, 단어, 및 문체가 반영된 타겟 문장을 식별(또는 획득)할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 이미지에 포함된 소스 문장을 식별하고, 이미지에 포함된 소스 문장을 타겟 문장으로 변환하여 표시할 수 있다. 프로세서(210)는 이미지의 특징점 정보를 이용하여, 도메인을 식별할 수 있다.
예를 들어, 이미지 내에 단어 "SUN"이 포함된 경우, 프로세서(210)는 이미지의 특징점 정보에 기반하여, 이미지 내에 달력이 표시됨을 식별할 수 있다. 프로세서(210)는 단어 "SUN"을 일요일(Sunday)로 식별(또는 인식)할 수 있다.
예를 들어, 이미지 내에 단어 "SUN"이 포함된 경우, 프로세서(210)는 이미지의 특징점 정보에 기반하여, 이미지 내에 노을 또는 해돋이 장면이 표시됨을 식별할 수 있다. 프로세서(210)는 단어 "SUN"을 태양(the sun)으로 식별(또는 인식)할 수 있다.
일 실시 예에 따르면, 복수의 전문 엔진들(430)이 분리됨으로써, 일체(monolithic) 구조의 번역 엔진에 따른 번역 서비스가 복수의 마이크로 서비스들로 분리될 수 있다. 병렬화된 복수의 마이크로 서비스들이 제공됨에 따라, 번역 서비스를 위한 레이턴시(latency)가 감소될 수 있다.
일 실시 예에 따르면, 전자 장치(예: 전자 장치(200))는, 메모리(예: 메모리(220)), 통신 회로(예: 통신 회로(230)), 및 적어도 하나의 프로세서(예: 프로세서(210))를 포함할 수 있다. 상기 적어도 하나의 프로세서(210)는, 제1 언어 타입의 소스 문장을 포함하는 이미지를 획득하도록 설정될 수 있다. 상기 적어도 하나의 프로세서는, 상기 이미지를 획득하는 것에 기반하여, 상기 소스 문장을, 제1 모델의 입력 값으로 설정함으로써, 상기 제1 모델의 출력 값으로, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위한 전문 엔진 선택 정보를 획득하도록 설정될 수 있다. 상기 적어도 하나의 프로세서는, 상기 이미지를 획득하는 것에 기반하여, 상기 이미지를, 상기 제1 모델과 구별되는 제2 모델의 입력 값으로 설정함으로써, 상기 제2 모델의 출력 값으로, 상기 이미지의 특징점 정보를 식별하도록 설정될 수 있다. 상기 적어도 하나의 프로세서는, 상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보를 상기 전자 장치와 연결된 외부 전자 장치(예: 외부 전자 장치(500))에게 송신하는 것에 기반하여, 상기 소스 문장에 대응하고, 상기 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 상기 소스 문장에 따른 문장 스타일에 기반하여 획득된, 제2 언어 타입의 타겟 문장을 수신하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 전문 엔진 선택 정보는, 상기 복수의 전문 엔진들 중, 상기 소스 문장에 관한 도메인과 관련된 상기 적어도 하나의 전문 엔진을 선택하기 위한 확률에 대한 정보를 포함할 수 있다.
일 실시 예에 따르면, 상기 적어도 하나의 프로세서는, 상기 이미지에 포함된, 상기 소스 문장과 구별되는 다른 소스 문장을 식별하도록 설정될 수 있다. 상기 적어도 하나의 프로세서는, 상기 소스 문장에 관한 도메인에 기반하여, 상기 다른 소스 문장에 관한 도메인을 식별하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 적어도 하나의 프로세서는, 상기 이미지에 포함된 복수의 객체들을 식별하는 것에 기반하여, 상기 복수의 객체들을 나타내는 리스트를 식별하도록 설정될 수 있다. 상기 적어도 하나의 프로세서는, 상기 리스트를 상기 외부 전자 장치에게 송신하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 적어도 하나의 프로세서는, 상기 이미지 및 상기 소스 문장에 기반하여, 개행 정책(line break policy)을 결정하기 위한 파라미터를 상기 외부 전자 장치에게 송신하도록 설정될 수 있다. 상기 소스 문장은, 상기 개행 정책을 결정하기 위한 파라미터에 기반하여, 상기 개행 정책이 적용되지 않은 상태로부터 상기 개행 정책이 적용된 상태로 변경될 수 있다.
일 실시 예에 따르면, 상기 특징점 정보는, 벡터 프로젝터를 이용하여, 언어 벡터 공간으로 전사될 수 있다. 상기 언어 벡터 공간으로 전사된, 상기 특징점 정보는, 상기 소스 문장과 함께, 상기 타겟 문장을 식별하기 위해 사용될 수 있다.
일 실시 예에 따르면, 상기 적어도 하나의 프로세서는, 상기 복수의 전문 엔진들의 사용 권한에 관한 정보를 식별하도록 설정될 수 있다. 상기 적어도 하나의 프로세서는, 상기 복수의 전문 엔진들의 사용 권한에 관한 상기 정보에 기반하여, 상기 복수의 전문 엔진들 중, 권한이 설정된 엔진들을 식별하도록 설정될 수 있다. 상기 적어도 하나의 프로세서는, 상기 권한이 설정된 엔진들 중, 상기 적어도 하나의 전문 엔진을 식별하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 적어도 하나의 프로세서는, 상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보를 CABAC(context-based adaptive binary arithmetic coding)에 기반하여, 압축하도록 설정될 수 있다. 상기 적어도 하나의 프로세서는, 상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보가 압축된 정보를 상기 외부 전자 장치에게 송신하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 소스 문장에 따른 상기 문장 스타일은, 상기 소스 문장의 어감(nuance), 상기 소스 문장의 도메인에 따른 단어(word), 및 상기 소스 문장의 문맥(context) 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 상기 적어도 하나의 프로세서는, 상기 이미지의 메타 데이터, 상기 이미지 내의 장면(scene)에 대한 데이터, 및 상기 이미지 내에 포함된 복수의 객체들을 나타내는 리스트를 식별하도록 설정될 수 있다. 상기 소스 문장, 상기 메타 데이터, 상기 장면에 대한 데이터, 및 상기 리스트는, 상기 복수의 전문 엔진들의 학습을 위해 사용될 수 있다.
일 실시 예에 따르면, 전자 장치(예: 전자 장치(200))의 방법은, 제1 언어 타입의 소스 문장을 포함하는 이미지를 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 이미지를 획득하는 것에 기반하여, 상기 소스 문장을, 제1 모델의 입력 값으로 설정함으로써, 상기 제1 모델의 출력 값으로, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위한 전문 엔진 선택 정보를 획득하는 동작을 포함할 수 있다. 상기 방법은, 상기 이미지를 획득하는 것에 기반하여, 상기 이미지를, 상기 제1 모델과 구별되는 제2 모델의 입력 값으로 설정함으로써, 상기 제2 모델의 출력 값으로, 상기 이미지의 특징점 정보를 식별하는 동작을 포함할 수 있다. 상기 방법은, 상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보를 상기 전자 장치와 연결된 외부 전자 장치(예: 외부 전자 장치(500))에게 송신하는 것에 기반하여, 상기 소스 문장에 대응하고, 상기 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 상기 소스 문장에 따른 문장 스타일에 기반하여 획득된, 제2 언어 타입의 타겟 문장을 수신하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 전문 엔진 선택 정보는, 상기 복수의 전문 엔진들 중, 상기 소스 문장에 관한 도메인과 관련된 상기 적어도 하나의 전문 엔진을 선택하기 위한 확률에 대한 정보를 포함할 수 있다.
일 실시 예에 따르면, 상기 방법은, 상기 이미지에 포함된, 상기 소스 문장과 구별되는 다른 소스 문장을 식별하는 동작을 포함할 수 있다. 상기 방법은, 상기 소스 문장에 관한 도메인에 기반하여, 상기 다른 소스 문장에 관한 도메인을 식별하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 방법은, 상기 이미지에 포함된 복수의 객체들을 식별하는 것에 기반하여, 상기 복수의 객체들을 나타내는 리스트를 식별하는 동작을 포함할 수 있다. 상기 방법은, 상기 리스트를 상기 외부 전자 장치(500)에게 송신하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 방법은, 상기 이미지 및 상기 소스 문장에 기반하여, 개행 정책(line break policy)을 결정하기 위한 파라미터를 상기 외부 전자 장치(500)에게 송신하는 동작을 포함할 수 있다. 상기 소스 문장은, 상기 개행 정책을 결정하기 위한 파라미터에 기반하여, 상기 개행 정책이 적용되지 않은 상태로부터 상기 개행 정책이 적용된 상태로 변경될 수 있다.
일 실시 예에 따르면, 상기 특징점 정보는, 벡터 프로젝터를 이용하여, 언어 벡터 공간으로 전사될 수 있다. 상기 언어 벡터 공간으로 전사된, 상기 특징점 정보는, 상기 소스 문장과 함께, 상기 타겟 문장을 식별하기 위해 사용될 수 있다.
일 실시 예에 따르면, 상기 방법은, 상기 복수의 전문 엔진들의 사용 권한에 관한 정보를 식별하는 동작을 포함할 수 있다. 상기 방법은, 상기 복수의 전문 엔진들의 사용 권한에 관한 상기 정보에 기반하여, 상기 복수의 전문 엔진들 중, 권한이 설정된 엔진들을 식별하는 동작을 포함할 수 있다. 상기 방법은, 상기 권한이 설정된 엔진들 중, 상기 적어도 하나의 전문 엔진을 식별하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 소스 문장에 따른 상기 문장 스타일은, 상기 소스 문장의 어감(nuance), 상기 소스 문장의 도메인에 따른 단어(word), 및 상기 소스 문장의 문맥(context) 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 상기 방법은, 상기 이미지의 메타 데이터, 상기 이미지 내의 장면(scene)에 대한 데이터, 및 상기 이미지 내에 포함된 복수의 객체들을 나타내는 리스트를 식별하는 동작을 포함할 수 있다. 상기 소스 문장, 상기 메타 데이터, 상기 장면에 대한 데이터, 및 상기 리스트는, 상기 복수의 전문 엔진들의 학습을 위해 사용될 수 있다.
일 실시 예에 따르면, 비일시적 컴퓨터 판독가능 저장 매체(non-transitory computer readable storage medium)는, 하나 이상의 프로그램들을 저장할 수 있다. 상기 하나 이상의 프로그램들은, 메모리(예: 메모리(220)) 및 통신 회로(예: 통신 회로(230))를 가지는(with) 전자 장치(예: 전자 장치(200))의 프로세서(예: 프로세서(210))에 의해 실행될 시, 제1 언어 타입의 소스 문장을 포함하는 이미지를 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시, 상기 이미지를 획득하는 것에 기반하여, 상기 소스 문장을, 제1 모델의 입력 값으로 설정함으로써, 상기 제1 모델의 출력 값으로, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위한 전문 엔진 선택 정보를 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시, 상기 이미지를 획득하는 것에 기반하여, 상기 이미지를, 상기 제1 모델과 구별되는 제2 모델의 입력 값으로 설정함으로써, 상기 제2 모델의 출력 값으로, 상기 이미지의 특징점 정보를 식별하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시, 상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보를 상기 전자 장치와 연결된 외부 전자 장치(예: 외부 전자 장치(500))에게 송신하는 것에 기반하여, 상기 소스 문장에 대응하고, 상기 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 상기 소스 문장에 따른 문장 스타일에 기반하여 획득된, 제2 언어 타입의 타겟 문장을 수신하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
일 실시 예에 따르면, 전자 장치의 프로세서는 소스 문장의 도메인을 식별하고, 식별된 도메인에 따른 전문 엔진을 이용하여 타겟 문장을 식별함으로써, 적절한 번역 결과를 제공하고, 사용자 경험을 향상시킬 수 있다.
일 실시 예에 따르면, 프로세서는 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 이용하여, 서비스를 제공함으로써, 번역 품질을 향상시킬 수 있다.
일 실시 예에 따르면, 프로세서는 외부 전자 장치에 포함된 복수의 엔진들 및 복수의 모듈들을 학습시키기 위한 데이터를 제공함으로써, 지정된 시간 간격에 기반하여, 번역 품질을 개선할 수 있다.
일 실시 예에 따르면, 상술한 번역 서비스를 제공하기 위한 시스템(또는 알고리즘)은, 전자 장치를 포함하는 복수의 전자 장치들에 포함된 모듈에게 API 형태로 제공될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시 예들에서, 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: CD-ROM(compact disc read only memory))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    메모리;
    통신 회로; 및
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
    제1 언어 타입의 소스 문장을 포함하는 이미지를 획득하고,
    상기 이미지를 획득하는 것에 기반하여, 상기 소스 문장을, 제1 모델의 입력 값으로 설정함으로써, 상기 제1 모델의 출력 값으로, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위한 전문 엔진 선택 정보를 획득하고,
    상기 이미지를 획득하는 것에 기반하여, 상기 이미지를, 상기 제1 모델과 구별되는 제2 모델의 입력 값으로 설정함으로써, 상기 제2 모델의 출력 값으로, 상기 이미지의 특징점 정보를 식별하고,
    상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보를 상기 전자 장치와 연결된 외부 전자 장치에게 송신하는 것에 기반하여, 상기 소스 문장에 대응하고, 상기 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 상기 소스 문장에 따른 문장 스타일에 기반하여 획득된, 제2 언어 타입의 타겟 문장을 수신하도록 설정된,
    전자 장치.
  2. 제1 항에 있어서, 상기 전문 엔진 선택 정보는,
    상기 복수의 전문 엔진들 중, 상기 소스 문장에 관한 도메인과 관련된 상기 적어도 하나의 전문 엔진을 선택하기 위한 확률에 대한 정보를 포함하는
    전자 장치.
  3. 제1 항 내지 제2 항 중 어느 한 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 이미지에 포함된, 상기 소스 문장과 구별되는 다른 소스 문장을 식별하고,
    상기 소스 문장에 관한 도메인에 기반하여, 상기 다른 소스 문장에 관한 도메인을 식별하도록 더 설정된
    전자 장치.
  4. 제1 항 내지 제3 항 중 어느 한 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 이미지에 포함된 복수의 객체들을 식별하는 것에 기반하여, 상기 복수의 객체들을 나타내는 리스트를 식별하고,
    상기 리스트를 상기 외부 전자 장치에게 송신하도록 더 설정된
    전자 장치.
  5. 제1 항 내지 제4 항 중 어느 한 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 이미지 및 상기 소스 문장에 기반하여, 개행 정책(line break policy)을 결정하기 위한 파라미터를 상기 외부 전자 장치에게 송신하도록 더 설정되고,
    상기 소스 문장은,
    상기 개행 정책을 결정하기 위한 파라미터에 기반하여, 상기 개행 정책이 적용되지 않은 상태로부터 상기 개행 정책이 적용된 상태로 변경되는
    전자 장치.
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서, 상기 특징점 정보는,
    벡터 프로젝터를 이용하여, 언어 벡터 공간으로 전사되고,
    상기 언어 벡터 공간으로 전사된, 상기 특징점 정보는,
    상기 소스 문장과 함께, 상기 타겟 문장을 식별하기 위해 사용되는
    전자 장치.
  7. 제1 항 내지 제6 항 중 어느 한 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 복수의 전문 엔진들의 사용 권한에 관한 정보를 식별하고,
    상기 복수의 전문 엔진들의 사용 권한에 관한 상기 정보에 기반하여, 상기 복수의 전문 엔진들 중, 권한이 설정된 엔진들을 식별하고,
    상기 권한이 설정된 엔진들 중, 상기 적어도 하나의 전문 엔진을 식별하도록 더 설정된
    전자 장치.
  8. 제1 항 내지 제7 항 중 어느 한 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보를 CABAC(context-based adaptive binary arithmetic coding)에 기반하여, 압축하고,
    상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보가 압축된 정보를 상기 외부 전자 장치에게 송신하도록 더 설정된
    전자 장치.
  9. 제1 항 내지 제8 항 중 어느 한 항에 있어서, 상기 소스 문장에 따른 상기 문장 스타일은,
    상기 소스 문장의 어감(nuance), 상기 소스 문장의 도메인에 따른 단어(word), 및 상기 소스 문장의 문맥(context) 중 적어도 하나를 포함하는
    전자 장치.
  10. 제1 항 내지 제9 항 중 어느 한 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 이미지의 메타 데이터, 상기 이미지 내의 장면(scene)에 대한 데이터, 및 상기 이미지 내에 포함된 복수의 객체들을 나타내는 리스트를 식별하도록 더 설정되고,
    상기 소스 문장, 상기 메타 데이터, 상기 장면에 대한 데이터, 및 상기 리스트는,
    상기 복수의 전문 엔진들의 학습을 위해 사용되는
    전자 장치.
  11. 전자 장치의 방법에 있어서,
    제1 언어 타입의 소스 문장을 포함하는 이미지를 획득하는 동작;
    상기 이미지를 획득하는 것에 기반하여, 상기 소스 문장을, 제1 모델의 입력 값으로 설정함으로써, 상기 제1 모델의 출력 값으로, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위한 전문 엔진 선택 정보를 획득하는 동작;
    상기 이미지를 획득하는 것에 기반하여, 상기 이미지를, 상기 제1 모델과 구별되는 제2 모델의 입력 값으로 설정함으로써, 상기 제2 모델의 출력 값으로, 상기 이미지의 특징점 정보를 식별하는 동작; 및
    상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보를 상기 전자 장치와 연결된 외부 전자 장치에게 송신하는 것에 기반하여, 상기 소스 문장에 대응하고, 상기 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 상기 소스 문장에 따른 문장 스타일에 기반하여 획득된, 제2 언어 타입의 타겟 문장을 수신하는 동작을 포함하는
    방법.
  12. 제11 항에 있어서, 상기 전문 엔진 선택 정보는,
    상기 복수의 전문 엔진들 중, 상기 소스 문장에 관한 도메인과 관련된 상기 적어도 하나의 전문 엔진을 선택하기 위한 확률에 대한 정보를 포함하는
    방법.
  13. 제11 항 내지 제12 항 중 어느 한 항에 있어서,
    상기 이미지에 포함된, 상기 소스 문장과 구별되는 다른 소스 문장을 식별하는 동작; 및
    상기 소스 문장에 관한 도메인에 기반하여, 상기 다른 소스 문장에 관한 도메인을 식별하는 동작을 더 포함하는
    방법.
  14. 제11 항 내지 제13 항 중 어느 한 항에 있어서,
    상기 이미지에 포함된 복수의 객체들을 식별하는 것에 기반하여, 상기 복수의 객체들을 나타내는 리스트를 식별하는 동작; 및
    상기 리스트를 상기 외부 전자 장치에게 송신하는 동작을 더 포함하는
    방법.
  15. 하나 이상의 프로그램들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체(non-transitory computer readable storage medium)에 있어서, 상기 하나 이상의 프로그램들은, 메모리 및 통신 회로를 가지는(with) 전자 장치의 프로세서에 의해 실행될 시,
    제1 언어 타입의 소스 문장을 포함하는 이미지를 획득하고,
    상기 이미지를 획득하는 것에 기반하여, 상기 소스 문장을, 제1 모델의 입력 값으로 설정함으로써, 상기 제1 모델의 출력 값으로, 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 선택하기 위한 전문 엔진 선택 정보를 획득하고,
    상기 이미지를 획득하는 것에 기반하여, 상기 이미지를, 상기 제1 모델과 구별되는 제2 모델의 입력 값으로 설정함으로써, 상기 제2 모델의 출력 값으로, 상기 이미지의 특징점 정보를 식별하고,
    상기 소스 문장, 상기 전문 엔진 선택 정보, 및 상기 특징점 정보를 상기 전자 장치와 연결된 외부 전자 장치에게 송신하는 것에 기반하여, 상기 소스 문장에 대응하고, 상기 복수의 전문 엔진들 중 적어도 하나의 전문 엔진을 통해, 상기 소스 문장에 따른 문장 스타일에 기반하여 획득된, 제2 언어 타입의 타겟 문장을 수신하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함하는
    컴퓨터 판독가능 저장 매체.
PCT/KR2023/014000 2022-10-18 2023-09-15 번역 서비스를 제공하기 위한 전자 장치 및 방법 WO2024085461A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0134501 2022-10-18
KR20220134501 2022-10-18
KR10-2022-0145275 2022-11-03
KR1020220145275A KR20240054124A (ko) 2022-10-18 2022-11-03 번역 서비스를 제공하기 위한 전자 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2024085461A1 true WO2024085461A1 (ko) 2024-04-25

Family

ID=90737835

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/014000 WO2024085461A1 (ko) 2022-10-18 2023-09-15 번역 서비스를 제공하기 위한 전자 장치 및 방법

Country Status (1)

Country Link
WO (1) WO2024085461A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200072616A (ko) * 2018-12-12 2020-06-23 김미경 동영상 실시간 텍스트 추적 및 번역을 위한 시스템 및 방법
CN112199963A (zh) * 2020-09-30 2021-01-08 北京搜狗科技发展有限公司 一种文本处理方法、装置和用于文本处理的装置
KR20220045881A (ko) * 2020-10-05 2022-04-13 주식회사 플리토 전문 번역 서비스 플랫폼을 제공하기 위한 방법
KR20220056004A (ko) * 2020-10-27 2022-05-04 삼성전자주식회사 전자 장치 및 이의 제어 방법
US11392777B2 (en) * 2018-12-14 2022-07-19 Google Llc Voice-based interface for translating utterances between users

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200072616A (ko) * 2018-12-12 2020-06-23 김미경 동영상 실시간 텍스트 추적 및 번역을 위한 시스템 및 방법
US11392777B2 (en) * 2018-12-14 2022-07-19 Google Llc Voice-based interface for translating utterances between users
CN112199963A (zh) * 2020-09-30 2021-01-08 北京搜狗科技发展有限公司 一种文本处理方法、装置和用于文本处理的装置
KR20220045881A (ko) * 2020-10-05 2022-04-13 주식회사 플리토 전문 번역 서비스 플랫폼을 제공하기 위한 방법
KR20220056004A (ko) * 2020-10-27 2022-05-04 삼성전자주식회사 전자 장치 및 이의 제어 방법

Similar Documents

Publication Publication Date Title
WO2022019538A1 (ko) 언어 모델 및 이를 포함하는 전자 장치
WO2022010157A1 (ko) 인공지능 가상 비서 서비스에서의 화면 제공 방법 및 이를 지원하는 사용자 단말 장치 및 서버
WO2022139420A1 (ko) 전자 장치 및 그의 연속성을 가지는 사용자 입력에 대한 실행 정보를 공유하는 방법
WO2023018158A1 (ko) 멀티 윈도우를 지원하는 전자 장치 및 이의 제어 방법
WO2024085461A1 (ko) 번역 서비스를 제공하기 위한 전자 장치 및 방법
WO2022098168A1 (ko) 화상 회의를 제공하는 전자 장치 및 화상 회의를 제공하는 방법
WO2022010279A1 (en) Electronic device for converting handwriting to text and method therefor
WO2022131566A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2022163963A1 (ko) 전자 장치 및 전자 장치의 단축 명령어 수행 방법
WO2022065924A1 (ko) 전자 장치의 이모지 추천 방법 및 그 전자 장치
WO2021096281A1 (en) Voice input processing method and electronic device supporting same
WO2024043729A1 (ko) 전자 장치 및 전자 장치의 사용자에 대한 응답 처리 방법
WO2023243811A1 (ko) 동영상 촬영 시, 이미지 내에 포스트 마스킹을 제공하는 전자 장치, 그 동작 방법 및 컴퓨터 판독가능 저장 매체
WO2023008798A1 (ko) 부적절한 대답을 관리하는 전자 장치 및 이의 동작 방법
WO2022177165A1 (ko) 음성 인식 결과를 분석하는 전자 장치 및 방법
WO2023177079A1 (ko) 합성 벡터에 기반하여 사용자 발화를 처리하는 서버, 전자 장치, 및 이의 동작 방법
WO2023136490A1 (ko) 발음에 기반한 이종 언어의 텍스트 검색 방법 및 이를 적용한 전자 장치
WO2024080745A1 (ko) 발화 캐시에 기반하여 사용자 발화를 분석하기 위한 방법 및 이를 지원하는 전자 장치
WO2022191425A1 (ko) 다이얼로그 텍스트에 시각적 효과를 적용하는 전자 장치 및 이의 제어 방법
WO2024043670A1 (ko) 사용자 발화를 분석하기 위한 방법 및 이를 지원하는 전자 장치
WO2022010158A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2022177164A1 (ko) 온디바이스 인공지능 서비스를 제공하는 전자 장치 및 방법
WO2023048379A1 (ko) 사용자 발화를 처리하는 서버, 전자 장치 및 그의 동작 방법
WO2024111843A1 (ko) 가상 환경 내 시각적 객체를 표현하기 위한 전자 장치 및 방법
WO2023017975A1 (ko) 상태 변경에 따라 음성 명령 처리 결과를 출력하는 전자 장치 및 그의 동작 방법