KR20190062027A - Method, apparatus and computer program for providing translation result, method, apparatus and computer program for displaying translation result - Google Patents

Method, apparatus and computer program for providing translation result, method, apparatus and computer program for displaying translation result Download PDF

Info

Publication number
KR20190062027A
KR20190062027A KR1020170160999A KR20170160999A KR20190062027A KR 20190062027 A KR20190062027 A KR 20190062027A KR 1020170160999 A KR1020170160999 A KR 1020170160999A KR 20170160999 A KR20170160999 A KR 20170160999A KR 20190062027 A KR20190062027 A KR 20190062027A
Authority
KR
South Korea
Prior art keywords
translation
time point
character string
result
engine
Prior art date
Application number
KR1020170160999A
Other languages
Korean (ko)
Other versions
KR102036350B1 (en
Inventor
김준석
임채우
김종원
유두선
Original Assignee
네이버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Priority to KR1020170160999A priority Critical patent/KR102036350B1/en
Publication of KR20190062027A publication Critical patent/KR20190062027A/en
Application granted granted Critical
Publication of KR102036350B1 publication Critical patent/KR102036350B1/en

Links

Images

Classifications

    • G06F17/289

Abstract

According to an embodiment of the present invention, there is provided a method for translating a first character string, the method comprising: providing a translation result of a first translation engine for a first character string at a third time point; And providing a translation result of the first translation engine for the second character string to the translation result of the provided first character string when the first character string is different from the second character string obtained at the third time point step; And a third translation engine for translating the translation result of the second translation engine with respect to the first character string into the translation result of the provided first character string when the second character string obtained at the third time point is identical to the first character string, And providing a translation result for an incomplete character string during a character string input process in real time in combination with a translation engine.

Description

TECHNICAL FIELD [0001] The present invention relates to a translating result providing method, an apparatus and a computer program, a translation result displaying method, an apparatus and a computer program,

The present invention relates to a translation result providing method, an apparatus and a computer program, a translation result display method, an apparatus, and a computer program.

With the development of information and communication technology and the development of transportation equipment manufacturing technology, the exchange of information between countries has expanded globally, and the exchange of information and resources has been actively conducted. In addition, Opportunities are also gradually increasing.

Accordingly, there has been actively developed a technology for a translation system that uses a computer-based translation technology to translate documents written in other languages into a desired language.

However, these techniques provide a translation result based on a translation request for a completed character string, which deteriorates the real-time performance. In particular, considering the fact that the translation target is a real-time language, .

The present invention intends to provide a translation result in real time by using two or more translation engines in combination.

Further, the present invention intends to use resources more efficiently in providing real-time translation results.

Also, the present invention considers idle resources of a translation engine and appropriately adjusts a delay time until a translation result is provided.

A method for providing a translation result for an incomplete character string in a character string input process in real time in combination with a translation engine according to an embodiment of the present invention includes: At a third point in time; And providing a translation result of the first translation engine for the second character string to the translation result of the provided first character string when the first character string is different from the second character string obtained at the third time point step; And a third translation engine for translating the translation result of the second translation engine with respect to the first character string into the translation result of the provided first character string when the second character string obtained at the third time point is identical to the first character string, Providing step.

A method for displaying a real-time translation result for an incomplete character string during a character string input process based on a translation result of a plurality of translation engines according to an embodiment of the present invention includes: acquiring a character string to be translated at a first point in time; A first display step of displaying a translation result of a first translation engine with respect to a translation target character acquired at the first time point at a third time point after the first time point; When the translation target character string at the third time point and the translation target character string at the first time point are different from each other, at the fifth time point after the third time point, A second display step of displaying the translation result by replacing the translation result of the first translation engine with the translation string obtained at the first time point; And when the translation target character string at the third time point is identical to the translation target character string at the first time point, the translation target character string at the first time point by the second translation engine at the seventh time point after the third time point A third display step of displaying the translation result by replacing the translation result of the first translation engine with the translation string obtained at the first time point; . ≪ / RTI >

An apparatus for providing a translation result for an incomplete character string in a character string input process in real time in combination with a translation engine according to an embodiment of the present invention, the apparatus comprising a processor, Providing a translation result of the first translation engine to the second character string when the second character string obtained at the third time point is different from the first character string, And if the second character string obtained at the third time point is identical to the first character string, the translation result of the second translation engine with respect to the first character string is provided as a translation result of the provided first character string It can be provided as a substitute for translation results.

An apparatus for displaying a real-time translation result for an incomplete character string during a character string input process based on translation results of a plurality of translation engines according to an embodiment of the present invention, the apparatus comprising a processor, The method includes: acquiring a translation target character string; displaying a translation result of the first translation engine with respect to the translation target character string acquired at the first time point at a third time point after the first time point; When the translation target character string at the first time point is different from that at the first time point, the translation result of the translation target character string at the third time point by the first translation engine at the fifth time point after the third time point is acquired at the first time point The character string to be translated at the third point of time and the first character string at the third point of time, The translation result of the translation target character string at the first time point by the second translation engine at the seventh time point after the third time point is obtained for the translation target character string obtained at the first time point, The translation result of the first translation engine can be displayed in place of the translation result of the first translation engine.

According to the present invention, it is possible to use a translation engine that is relatively fast in translation, has a small resource required for translation, and has a high accuracy in translation of the completed character string for one or more incomplete strings generated in the process of inputting the string to be translated A high translation engine can be used to improve the real-time performance and enable efficient use of resources.

In addition, the present invention can provide a real-time translation result and a more accurate translation result for a character string to be translated by the user.

Further, in providing real-time translation results and accurate translation results, the present invention can use resources more efficiently in combination with translation engines.

Further, the present invention can ensure continuity of providing real-time translation results.

1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
2 is a block diagram illustrating an internal configuration of a server and a user terminal according to an exemplary embodiment of the present invention.
FIG. 3 is a diagram for explaining a method in which a server according to an embodiment of the present invention provides a translation result for an incomplete character string during a translation character string input process in combination with a translation engine.
FIG. 4A is a flowchart for explaining a method of translating a character string when a character string to be translated changes according to a time according to a user's input. FIG.
4B is a flowchart for explaining a method of translating a character string when the character string to be translated does not change with time.
4C is a flowchart for explaining a method of translating a character string when the sixth time point is before the second waiting time elapses from the second time point.
5A is a flowchart for explaining a method of displaying a translation result when a translation target character string is changed according to a time according to a user's input.
5B is a flowchart for explaining a method of displaying a translation result when the translation target character string does not change with time.
6A to 6E are exemplary screens displayed on a user terminal according to an exemplary embodiment of the present invention.

The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, the specific shapes, structures, and characteristics described herein may be implemented by changing from one embodiment to another without departing from the spirit and scope of the invention. It should also be understood that the location or arrangement of individual components within each embodiment may be varied without departing from the spirit and scope of the present invention. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention should be construed as encompassing the scope of the appended claims and all equivalents thereof. In the drawings, like reference numbers designate the same or similar components throughout the several views.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to facilitate a person skilled in the art to which the present invention pertains.

1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.

1 shows an example in which the network environment includes a server 100, a plurality of user terminals 201, 202, 203 and 204, and a network 300. [ FIG. 1 is a diagram for explaining the invention. The number of user terminals and the number of servers are not limited to those shown in FIG.

The plurality of user terminals 201, 202, 203, 204 may be a fixed terminal implemented as a computer device or a mobile terminal. A mobile phone, a navigation device, a computer, a notebook, a terminal for digital broadcasting, a PDA (personal digital assistant), a portable multimedia player (PMP) ), And tablet PCs.

For example, a plurality of user terminals 201, 202, 203, and 204 may communicate with each other through a network 300 using a wireless or wired communication scheme among a plurality of user terminals 201, 202, 203, And can communicate with the server 100.

The communication method of the plurality of user terminals 201, 202, 203 and 204 is not limited, and the communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, or a broadcasting network) As well as short-range wireless communications between the devices.

For example, the network 300 may be a personal area network (LAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN) , A network such as the Internet, and the like. The network 300 may also include any one or more of a network topology including a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or a hierarchical network, It is not limited.

Hereinafter, a plurality of user terminals 201, 202, 203, and 204 will be referred to as a user terminal 200 for convenience of explanation.

The server 100 may be implemented as a computer device or a plurality of computer devices that provide commands, codes, files, contents, services, and the like to the user terminal 200 through the network 300.

For example, the server 100 may provide a file for installation of the translation application to the user terminal 200 connected via the network 300. [ In this case, the user terminal 200 can install the translation application using the file provided from the server 100.

The user terminal 200 accesses the server 100 under the control of an operating system (OS) and at least one program (for example, a browser or an installed application) Can be provided. For example, when the user terminal 200 transmits a translation request for a specific character string to the server 100 via the network 300, the server 100 translates the character string and transmits the translation result to the user terminal 200 Lt; / RTI > At this time, the user terminal 200 may display and provide the translation result according to the control of the application.

2 is a block diagram for explaining an internal configuration of a server 100 and a user terminal 200 according to an embodiment of the present invention.

The server 100 and the user terminal 200 may include memories 111 and 211, processors 112 and 212, communication modules 113 and 213, and input / output interfaces 114 and 214.

The memories 111 and 211 may be a computer-readable recording medium and may include a permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), and a disk drive. The memory 111 and the memory 211 are provided with an operating system and at least one program code (for example, the program 100 is installed in the user terminal 200 to transmit a translation target character string to the server 100 and receives a translated character string from the server 100 Or the like) may be stored. These software components may be loaded from a computer-readable recording medium separate from the memories 111 and 211 using a drive mechanism. Such a computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, and a memory card.

In other embodiments, the software components may be loaded into memory 111, 211 via communication modules 113, 213 rather than a computer readable recording medium. For example, at least one program is based on a program installed by a file distribution system (for example, the server 100 described above) that distributes installation files of developers or applications, And loaded into the memories 111 and 211, respectively.

Processors 112 and 212 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and I / O operations. An instruction may be provided to the processor 112, 212 by the memory 111, 211 or the communication module 113, 213. For example, the processor 112, 212 may be configured to execute a command received in accordance with a program code stored in a recording device, such as the memory 111, 211.

The communication modules 113 and 213 may provide a function for the user terminal 200 and the server 100 to communicate with each other through the network 300 and may be provided to other user terminals (not shown) or other servers (not shown) And the like. For example, a request (translation request for a string, for example) generated by the processor 212 of the user terminal 200 according to a program code stored in a recording device such as the memory 211 is transferred to the network To the server 100 via the Internet 300. Contents or files provided under the control of the server 100 processor 112 are transmitted to the communication module 213 of the user terminal 200 via the communication module 113 and the network 300. [ Lt; RTI ID = 0.0 > 200 < / RTI > For example, the control signals and commands of the server 100 received through the communication module 213 may be transmitted to the processor 212 or the memory 211, and the contents, files, And may be stored as a storage medium that can contain it.

The input / output interfaces 114 and 214 may be means for interfacing with the input / output device 214 (215 in the case of 214). Wherein the input device may comprise a device such as, for example, a keyboard or a mouse, and the output device may comprise a device such as a display for displaying a communication session of the application.

As another example, the input / output interfaces 114 and 214 may be means for interfacing with a device in which functions for input and output are integrated into one, such as a touch screen.

Also, in other embodiments, user terminal 200 and server 100 may include more components than the components of FIG. However, there is no need to clearly illustrate most prior art components. For example, the user terminal 200 may be implemented to include at least some of the input / output devices 215 described above, or may include other components such as a transceiver, a Global Positioning System (GPS) module, a camera, various sensors, As shown in FIG.

FIG. 3 is a diagram for explaining a method in which the server 100 according to an embodiment of the present invention provides a translation result for an incomplete character string during a translation character string input process in combination with a translation engine.

In the present invention, the 'translation engine' may mean various types of translation means for converting a string written in the first language into a string of a second language having the same meaning. For example, the translation engine may be a statistical based machine translation engine, such as an SMT (Statistical Machine Translation) engine. Such an SMT engine is fast and has a lot of translation vocabulary, so it can have an advantage in translation. In addition, the engine of the SMT method can divide the target string into words or phrases and present a translation result that is statistically considered natural.

Meanwhile, the translation engine may be an NMT (Neural Machine Translation) engine, that is, an engine based on an artificial neural network. Such an NMT-based engine can automatically learn from a large-scale parallel corpus, a neural network that converts a translation target string into a sentence vector, and a neural network that generates a sentence of a language to be translated in a sentence vector. In addition, the engine of the NMT system can perform a translation based on the entire sentence information, not a part of the string to be translated, to perform a more accurate and context-sensitive translation.

However, the two types of engines described above are illustrative and not intended to limit the scope of the present invention.

In the present invention, the term " combined " of a translation engine may mean the use of two or more translation engines in the translation of a string. In particular, the use of a translation engine in the present invention may mean using each translation engine at a point in time when the advantage of each translation engine can be highlighted, by using different points of use of the two or more translation engines. For example, in the case of the SMT type engine among the two types of translation engines described above, the translation speed is relatively fast, and the resources required for the translation are small, but the accuracy of the translation can be somewhat reduced. On the other hand, in the case of the NMT type engine, the speed of translation is relatively slow, and the resources required for translation are large, while the accuracy of translation can be high. Therefore, an embodiment of the present invention uses an SMT-type engine having a relatively high translation speed and a small resource required for translation when a quick response is required, and an NMT- You can combine two translation engines in a way that uses an engine.

Hereinafter, with reference to FIG. 3, assume that a user inputs a translation target character string 410 such as " This is a service for translating a Korean word into English " to the user terminal 200. [

The user input process for the user terminal 200 will be described in more detail. The input character string is converted into a second character string 412 such as " Hello " in the first character string 411, The second string 412 leads to the third string 413 such as " Hello Korean to English " and finally to the string 414 that is the same as the translation target string 410. [

According to the related art, after the input of the translation object string is completed, that is, after the input of the translation object string 410 such as " Hello Korean is translated into English " is completed, Respectively. However, considering the fact that the translation service based on the 'request for translation' for the completed character string is not real-time in providing the translation result, and in particular, considering that the target of translation is the language to be exchanged in real time, .

In order to solve such a problem, it is possible to consider providing a translation result for the input string up to now even when there is no special translation request for the input character string. However, There is a problem in that it is impossible to efficiently use the resource because it has to be done continuously.

The present invention uses a translation engine having a relatively fast translation speed and a small resource required for translation for one or more incomplete strings 411, 412, and 413 generated in the input process of the translation string 410, In the translation of the character string 414, it is possible to improve the real-time property by using a translation engine with high accuracy, and at the same time to enable efficient use of resources.

Hereinafter, a description will be given mainly on a method of providing a translation result of an incomplete character string performed by the processor 212 of the server 100 and / or the user terminal 200 in real time.

4A to 4C are flowcharts illustrating a translation result providing method performed by the server 100 according to an embodiment of the present invention in a time-series manner.

FIG. 4A is a flowchart for explaining a method of translating a character string when a character string to be translated changes according to a time according to a user's input. FIG.

The processor 112 of the server 100 according to the embodiment of the present invention may acquire the first character string from the user terminal 200 at the first time point.

In the present invention, a 'viewpoint' such as a first viewpoint and a second viewpoint is used to indicate a sequential relation between operations of the processor 112, It may mean a specific time, such as 15:00:00, or a specific time period, such as 2017.09.26 15:00:00 to 2017.09.26 15:00:10.

On the other hand, the first character string acquired from the user terminal 200 may be a completed translation target character string or an incomplete translation target character string. For example, if a user copies a translation target character string from a Web site and pastes it into a translation application according to an embodiment of the present invention, the first character string may be a completed translation target character string. Also, when a user types a sentence to be translated into an application according to an embodiment of the present invention, the first character string may be an unfinished translation target character string.

The processor 112 according to an embodiment of the present invention may perform the translation of the first string obtained from the user terminal 200 with respect to the first translation engine at a second time point after the first wait time, . (S42)

In the present invention, 'requesting a translation result of a string for a translation engine' may mean transmitting the string to the translation engine to request translation. Accordingly, the translation engine can translate a string and return a character string corresponding to the translation result as a result value. For example, if the first string is " inside ", the processor 112 may request translation of the string for " inside " for the first translation engine. At this time, the first translation engine may return " Inside " as a result of translation of " inside ".

In the present invention, the first translation engine may refer to a translation engine capable of translating a string to a relatively low resource (i.e., to a resource lower than a second translation engine described below). Also, in the present invention, the first translation engine may mean a translation engine capable of translating the string at a relatively fast rate (i.e., faster than the second translation engine). Also, in the present invention, the first translation engine may include a resource (e.g., a resource of the user terminal 200, or another server (e.g., a server) that is not related to a resource of a subject providing the translation service (Not shown)) to perform translation. For example, the first translation engine may be the SMT translation engine described above.

On the other hand, in the present invention, the second translation engine may mean a translation engine that translates a string to a relatively high resource (i.e., to a resource higher than the first translation engine described above). Also, in the present invention, the second translation engine may refer to a translation engine capable of translating a string at a relatively slow rate (i.e., at a slower rate than the first translation engine described above). In the present invention, the second translation engine may be an engine that performs translation by sharing resources with a subject providing the translation service (e.g., the server 100) according to an embodiment of the present invention. For example, the second translation engine may be the NMT translation engine described above.

In the present invention, the 'waiting time' such as the first waiting time and the second waiting time may have a meaning as a waiting time for appropriately adjusting the load of the translation engine. Thus, the length of the first wait time can be determined based on an available resource of at least one of the first translation engine and the second translation engine. For example, when the available resources of the first translation engine are small (that is, when the number of translations being processed by the first translation engine is large), the processor 112 sets the first wait time to be long, Can be reduced. Of course, in the opposite case, the processor 112 may set the first wait time to be short to emphasize the real time nature of the translation result.

Likewise, the length of the second wait time, which will be described later, can be determined based on the available resources of at least one of the first translation engine and the second translation engine as well as the length of the first wait time. For example, when the available resources of the second translation engine are small (that is, when the number of translations being processed by the second translation engine is large), the processor 112 sets the second wait time to be long and sets the call frequency of the second translation engine as . Of course, in the opposite case, the processor 112 may set the second wait time to be short to emphasize the real time nature of the translation result.

Then, the processor 112 according to the embodiment of the present invention may provide the translation result of the first translation engine for the first character string to the user terminal 200 at the third time point. (S43) At the same time, The processor 112 according to one embodiment may obtain the second character string from the user terminal 200. (S44) At this time, the second character string may also be the completed translation target character string as in the first character string, It may be a string to be translated. However, FIG. 4A illustrates a case where a character string to be translated varies with time according to a user's input, and therefore, it is assumed that the second character string is an incomplete character string in FIG. 4A. An incomplete string such as " Hello " that occurs during the process of inputting the translation target character 410 such as " It is a service to translate Hello Korean into English ", as shown in FIG. 3, may correspond to the second character string.

If the first string is " not " as in the above example, the first translation engine returns " Inside " as a result of the translation of " inside " To the user terminal 200.

Meanwhile, the processor 112 according to an embodiment of the present invention may determine whether the first character string (e.g., " Hello ") obtained at the third time point is different from the first character string The translation result of the translation engine can be provided in place of the already provided translation result of the first character string.

In other words, the processor 112 may provide the user terminal 200 with a translation result of the first translation engine for one or more incomplete strings that occur during the string input process, if it is determined that the user's string input is continuing have.

In more detail, the processor 112 according to an embodiment of the present invention can request the translation result of the second character string to the first translation engine at the fourth point in time after the first waiting time from the third point of time described above (S45A) In addition, the processor 112 provides the translation result of the first translation engine for the second character string to the translation result of the first character string provided at the third point in time, which is after the fourth point in time (S46A). For example, if "Inside" is provided as a translation result of the string "inside" at the third time point and the second string is "Hello", the processor 112, at the fifth point in time, Quot; Inside " (the translation result provided at the third time point) and provide a translation result such as " Hello ".

As described above, according to the present invention, when the translation target character string at the previous time point differs from the translation target character string at the later time point, the translation result by the first translation engine of the later time point character string is replaced by the translation result for the translation target character string at the previous time point Real-time translation results can be provided even with low resource usage.

FIG. 4B is a flowchart for explaining a method of translating a character string when a translation target character string does not change with time in response to a user's input. FIG.

Since each process according to steps S41 to S44 has been described with reference to FIG. 4A, a detailed description thereof will be omitted.

The processor 112 according to an embodiment of the present invention may include a first character string (e.g., " Hello ") obtained at a first point in time, Is a service for translating Korean into English "), it is possible to provide the user terminal 200 with the translation result of the second translation engine for the first character string. At this time, the translation result of the second translation engine may be provided in place of the translation result of the first character string provided previously.

In other words, when it is determined that the input of the string to be translated is completed, the processor 112 may provide the user terminal 200 with the translation result of the second translation engine for the completed string.

In more detail, if the sixth time point after the third time point is after the second time point from the second time point, the processor 112 translates the first character string to the second translation engine at the sixth time point, (S45B). In this case, the second time point may be a time point after the first waiting time from the first time point when the first character string is acquired.

As described above, the second waiting time may have a meaning as a waiting time for appropriately adjusting the load of the second translation engine. For example, when the available resources of the second translation engine are small (that is, when the number of translations being processed by the second translation engine is large), the processor 112 sets the second wait time to be long and sets the call frequency of the second translation engine as . Of course, in the opposite case, the processor 112 may set the second wait time to be short to emphasize the real time nature of the translation result.

Then, at a seventh time point after the sixth point in time, the processor 112 according to the embodiment of the present invention compares the translation result of the second translation engine with respect to the first character string (for example, " Hello.Is a service that translates into Korean into English (For example, " Good morning. It is Korean English translation service. &Quot;) (S46B).

Thus, the present invention can provide a real-time translation result and a more accurate translation result for a character string to be translated by the user. Further, in providing real-time translation results and accurate translation results, the present invention can use resources more efficiently in combination with translation engines.

Meanwhile, the processor 112 according to an embodiment of the present invention may provide a translation result of the character string by the user after the translation result is provided by the second translation engine.

In more detail, the processor 112 acquires a third character string at an eighth time point after the seventh point in time (S47B) (S47B), and the obtained third character string is different from the first character string to be translated by the second translation engine (S48B), the translation result of the first translation engine for the third character string is substituted for the translation result of the provided first character string to the user terminal 200 (S49B). Thus, the present invention can ensure continuity of providing real-time translation results.

4C is a flowchart for explaining a method of translating a character string when the sixth time point is before the second waiting time elapses from the second time point.

Since the processes according to steps S41 to S44 are described in FIGS. 4A and 4B, detailed description thereof will be omitted.

The processor 112 according to an embodiment of the present invention may acquire a fourth character string at a sixth point in time (S45C) and determine whether the obtained fourth character string is different from the first character string. Here, the sixth time point may be a time point after the third time point, and may be a time point before the second wait time elapses from the second time point.

If the acquired fourth string is different from the first string, the processor 112 substitutes the translation result of the first translation engine for the fourth string into the translation result of the provided first string and provides the result to the user terminal 200 .

In more detail, when the obtained fourth character string and the first character string are different, the processor 112 requests a translation result of the fourth character string to the first translation engine (S46C) The translation result of the first character string may be replaced with the translation result of the first character string and provided to the user terminal 200. (S47C)

On the other hand, when the acquired fourth string is identical to the first string, the processor 112 determines that the translation result of the second translation engine for the fourth string is not the first string It is possible to provide the translation result to the user terminal 200. [ Since the method of providing the translation result by the second translation engine has been described with reference to FIG. 4B, a detailed description thereof will be omitted.

Referring to FIG. 4C, it is seen that the sixth time point is before the second wait time period elapses from the second time point. In FIG. 4B, the sixth time point is the second wait time from the second time point This is the time point after the elapsed time point.

4B, the processor 112 requests the translation result of the first character string for the second translation engine at the sixth point in time (S45B in FIG. 4B). However, in the case of FIG. 4C, For the translation result of the string.

As described above, according to the present invention, the translation result by the second translation engine is provided only for the string determined to be completed according to the predetermined time condition, and the resource can be used more efficiently.

5A and 5B are flowcharts illustrating a method of displaying translation results in a user terminal 200 according to an embodiment of the present invention in a time-series manner.

Hereinafter, description will be made on the display of the translation result of the character string generated by the server 100 and / or the user terminal 200 from the viewpoint of the user terminal 200. [

The time points (first time point, third time point, etc.) described in FIGS. 5A to 5B may correspond to the time points described in FIGS. 4A to 4C. Therefore, when comparing FIGS. 4A through 4C with FIGS. 5A through 5B, it is easy to understand the operation of each subject at the same time.

5A is a flowchart for explaining a method of displaying a translation result when a translation target character string is changed according to a time according to a user's input.

The processor 212 of the user terminal 200 according to the embodiment of the present invention can acquire the translation target character string at the first time point (S51)

The obtained translation target character string is transmitted to the server 100 and can be translated according to the procedure described in Figs. 4A to 4C. The obtained translation target character string may also be translated by the processor 212. [ In other words, the translation of the first character string may be performed in the server 100 or in the user terminal 200. If the translation of the first string is made at the user terminal 200, the first translation engine may be driven by the processor 212 of the user terminal.

At this time, the first translation engine may refer to a translation engine capable of translating a string to a relatively low resource (i.e., a resource lower than the second translation engine) as described in Figures 4A-4C. The first translation engine may also refer to a translation engine capable of translating a string at a relatively fast rate (i.e., faster than the second translation engine). Also, the first translation engine performs translation using a resource (i.e., a resource of the user terminal 200) that is not related to a resource of a subject (e.g., server 100) providing a translation service according to an embodiment of the present invention Engine. For example, the first translation engine may be the SMT translation engine described above.

Meanwhile, the processor 212 may acquire a character string to be translated according to a user's voice input to the user terminal 200. In other words, the processor 212 can recognize the user's voice and generate a translation string from this. Accordingly, a translation result providing method and / or a translation result displaying method according to an embodiment of the present invention can be used in a situation where a real time conversation is performed.

The processor 212 according to an embodiment of the present invention may display the translation result of the first translation engine for the translation string obtained at the first point in time at the third point in time after the first point in time. Further, the translation target character string can be obtained again (S52)

In the case where the translation of the character string is performed in the server 100 as described above, the processor 212 may transmit the character string to be translated to the server 100, and as a result, the translated character string may be received and displayed.

On the other hand, when the first translation engine is driven by the processor 212 of the user terminal 200, the processor 212 may translate the translation string and display the result through the output device.

When the re-acquired translation target character string, that is, the translation target character string at the third time point and the translation target character string at the first time point are different, the processor 212, at the fifth time point after the third time point, The translation result of the translation target character string at the third time point can be displayed by replacing the translation result of the first translation engine with respect to the translation target character string acquired at the first time point (S53A)

Suppose, for example, that the user enters a translation string such as "Hello, Korean is translated into English." In this case, the translation target character string at the first time point is " inside ", and the translation target character string at the third time point may be " Hello "

Accordingly, the processor 212 sets "Inside" as the translation result of the first translation engine for "inside" at the third time point and "Hello" as the translation result of the first translation engine for the "Hi" at the fifth point Can be displayed.

In the case where the translation target character string changes temporally according to the input of the user, the processor 212 determines whether the translation target character string at the later time (for example, the third time point) and the translation target character at the previous time point At least a part of the above-described steps S51 to S53A can be repeatedly performed.

Thus, in the case where the translation target character string at the previous time point and the translation target character string at the later time point are different from each other, the translation result by the first translation engine of the later time point character string is replaced by the translation result for the translation target character string at the previous time point, Real-time translation results can be displayed with the use of resources.

FIG. 5B is a flowchart for explaining a method of displaying a translation result when a translation target character string does not change with time in response to a user's input.

Since the processes according to steps S51 to S52 have been described with reference to FIG. 5A, a detailed description thereof will be omitted.

When the translation target character string obtained at the third time point is identical to the translation target character string at the first time point, the processor 212 according to the embodiment of the present invention performs the translation by the second translation engine at the seventh time point after the third time point The translation result of the translation target character string at the first time point can be replaced with the translation result of the first translation engine with respect to the translation target character string acquired at the first time point (S53B)

 In other words, when the translation target character string at the first time point is the same as the translation target character string at the third time point, the processor 212 converts the translation result of the second translation engine into the translation target character string, It is possible to display the result of translation subtly.

For example, suppose you want to translate a string such as "Hello, it's a service that translates Korean into English." In this case, the translation result by the first translation engine such as " Good morning. It is Korean English translation service. &Quot; At the seventh time point, the translation result of the second translation engine such as " Hello. This service is translated into Korean into English. &Quot;

Thus, the present invention can provide a real-time translation result and a more accurate translation result for a character string to be translated by the user.

On the other hand, at least one of the interval between the first point and the third point and the interval between the first point and the seventh point may be determined based on available resources of at least one of the first and second translation engines.

For example, when both the first translation engine and the second translation engine are provided in the server 100, the above-described two intervals may be determined based on the available resources of the server 100. [ As an example, when the available resources of the server 100 are abundant, the above-described two intervals may be set short. On the contrary, when the available resources of the server 100 are insufficient, the above-described two intervals can be set long.

Alternatively, when the first translation engine is driven by the processor 212 of the user terminal 200 and the second translation engine is provided by the server 100, the interval between the first and third points of time is determined by the user terminal 200 And the interval between the first point of time and the seventh point of time may be determined based on the available resources of the server 100. [

As described above, the two intervals may be different depending on the location of each translation engine. However, the present invention is not limited thereto.

When the translation target character string at the eighth time point after the seventh point in time is different from the translation target character string at the first point in time, the processor 212 according to the embodiment of the present invention, at the ninth point after the eighth point, The translation result of the translation target character string at the eighth time point by the translation engine can be displayed in place of the translation result of the second translation engine with respect to the translation target character string acquired at the first time point (S54B)

In other words, after the processor 212 according to the embodiment of the present invention provides the translation result by the second translation engine (that is, after the input of the user's translation target character string is completed) If this amendment occurs, the translation result can be provided again. Thus, the present invention can ensure continuity of real-time translation result display.

Meanwhile, the processor 212 according to an embodiment of the present invention may include an indicator for indicating that the translation is being performed from the eighth time point to the ninth time point, Can be displayed together with the translation result of the engine.

For example, if the string to be acquired at the first time is a string such as "Hello, Korean is translated into English", the translation result of the second translation engine is "Hello. Lt; / RTI > At this time, if the translation target string is modified such as " service for translating Hello Korean into English ", the processor 212 determines whether or not the translation result by the first translation engine is generated The translation result can be displayed as "Hello. This is a service that translates into Korean into English..." As described above, the present invention can improve the efficiency of the user's bodily sensation by indicating that the translation is in progress.

6A to 6E are examples of screens displayed on the user terminal 200 according to an embodiment of the present invention. Hereinafter, for the sake of convenience of explanation, it is assumed that a user inputs a character string such as " Hello Korean is translated into English. &Quot;

6A to 6C are examples of screens 610, 620, and 630 in which a result of real-time translation for each incomplete character string is displayed as the user inputs a character string. Each of the screens 610, 620, and 630 may include regions 611, 621, and 631 in which a translation string entered by the user is displayed, and regions 612, 622, and 632 in which translation results are displayed .

As described above with reference to FIG. 5A, the processor 212 of the user terminal 200 determines whether or not the translation target character string changes momentarily according to the input of the user, the translation target character string at the later time point (for example, The translation result by the first translation engine can be repeatedly displayed until the translation target character string at the start of the translation (for example, the view of FIG. 6B) is the same.

6B, the translation target character string is " Hello ", and the translation target character string at the time of FIG. 6A, which is the previous time, is " inside " In this case, the processor 212 may display the translation result of the first translation engine for each character string in the region 611, 612 where the translation result is displayed.

At this time, when the first translation engine is driven by the processor 212 of the user terminal 200, the processor 212 translates the translation string (e.g., " inside ") and translates the translation result (For example, 611) in which an image is displayed.

On the other hand, when the first translation engine is provided in the server 100, the processor 212 transmits the translation target character string (for example, "inside") to the server 100, After translating the string, the translation result (e.g., " Inside ") may be transmitted to the user terminal 200. The user terminal 200, that is, the processor 212 receiving the translation result (e.g., " Inside ") may display the translation result in an area (e.g., 611) where the translation result is displayed.

6D is an example of a screen 640 showing the translation result for the completed character string.

The screen 640 displaying the translation result for the completed character string may include an area 641 in which the input character string is displayed and an area 642 in which the translation result is displayed.

5B, the processor 212 of the user terminal 200 determines whether or not the translation target character string is completed (that is, the translation target character string at the previous time point is the same as the translation target character string at the following point in time) Results can be displayed.

For example, if the completed translation target string is a string such as " Hello Korea is a service for translating Korean into English ", the processor 212 inserts the translation result of the second translation engine into the area 642 in which the translation result is displayed. A string such as " This is a service that translates to Korean into English.

At this time, the processor 212 of the user terminal 200 may transmit the completed translation target character string to the server 100, and may receive the translation result of the second translation engine from the server 100 and display the translation result.

FIG. 6E is an example of a screen 650 displayed when the translated character string is modified after the translation result of the second translation engine is displayed on the completed translated character string.

The screen 650 may include an area 651 in which the input character string is displayed, and an area 652 in which the translation result is displayed, as in the above-described screens.

When the translation target character string of the second translation engine is different from the translation target character string at the time point after the translation result of the second translation engine is displayed as described in S54B of Fig. 5B, the processor 212 of the user terminal 200 ) Can display the translation result of the translation target string that has been differentiated by the first translation engine, in place of the translation result displayed in the past. At this time, until the translation result of the translation target string differentiated by the first translation engine is generated, the processor 212 transmits an indicator (653) indicating that the translation is in progress to the translation target string obtained at the first time 2 can be displayed together with the translation result of the translation engine.

For example, if the translation target string of the second translation engine is a string such as " Hello, Korean is translated into English ", the translation result of the second translation engine is " Hello. . At this time, as shown in the figure, when the user modifies the translation target string as " service for translating Hello Korean into English ", the processor 212 converts the translation result It is possible to display an existing translation result and an indicator 653 such as " Hello. This service is translated into Korean into English. As described above, the present invention can improve the efficiency of the user's bodily sensation by indicating that the translation is in progress.

The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may perform one or more software applications performed on an operating system (OS) and an operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on the medium may be those specially designed and constructed for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

100: Server
111: Memory
112: Processor
113: Communication module
114: I / O interface
200: user terminal
201, 202, 203, 204:
211: Memory
212: Processor
213: Communication module
214: Input / output interface
215: input / output device
300: Network

Claims (19)

A method for providing a translation result for an incomplete character string during a character string input process in real time in combination with a translation engine,
A first providing step of providing a translation result of a first translation engine for a first character string at a third time point;
And providing a translation result of the first translation engine for the second character string to the translation result of the provided first character string when the first character string is different from the second character string obtained at the third time point step; And
And providing a translation result of the second translation engine for the first character to the translation result of the provided first character if the second character string obtained at the third time point is the same as the first character string A method for providing a translation result.
The method of claim 1, wherein
Before the first providing step,
Obtaining the first character string from a user terminal at a first time point; And
Requesting a translation result of the first character string to the first translation engine at a second time point after the first time point after the first wait time,
And the third time point is after the second time point.
The method of claim 1, wherein
The second providing step
Requesting translation results of the second character string for the first translation engine at a fourth time point after the third time point after the first wait time; And
And providing the translation result of the first translation engine for the second character to the translation result of the first character string provided at the third time point at a fifth time point after the fourth time point, How to provide results.
The method according to any one of claims 2 and 3, wherein
Wherein the length of the first waiting time is determined based on an available resource of at least one of the first translation engine and the second translation engine.
The method of claim 1, wherein
The third providing step
Requesting translation of the first character string to the second translation engine at the sixth time point if the sixth time point after the third time point is after the second time point has elapsed from the second time point; And
And providing the translation result of the second translation engine for the first character string to the translation result of the first character string provided at the third time point at a seventh time point after the sixth time point,
The second time point
Wherein the first character string is obtained after a first waiting time after the first character string is acquired and before the third time.
The method of claim 5, wherein
After the third providing step,
When the third character string obtained at the eighth time point after the seventh time point is different from the first character string, the translation result of the first translation engine for the third character string is added to the translation result of the provided first character string, And providing the result of the translation.
The method of claim 1, wherein
The third providing step
When the sixth time point after the third time point is before the second wait time elapses from the second time point,
Determining whether a fourth character string obtained at the sixth time point is different from the first character string; And
Providing a translation result of the first translation engine for the fourth character string to the translation result of the provided first character string when the fourth character string is different from the first character string; Including,
The second time point
Wherein the first character string is obtained after a first waiting time after the first character string is acquired and before the third time.
The method according to any one of claims 5 and 7, wherein
Wherein the length of the second waiting time is determined based on an available resource of at least one of the first translation engine and the second translation engine.
A method for displaying a real-time translation result of an unfinished character string during a character string input process based on a translation result of a plurality of translation engines,
An acquisition step of acquiring a translation target character string at a first time point;
A first display step of displaying a translation result of a first translation engine with respect to a translation target character acquired at the first time point at a third time point after the first time point;
When the translation target character string at the third time point and the translation target character string at the first time point are different from each other, at the fifth time point after the third time point, A second display step of displaying the translation result by replacing the translation result of the first translation engine with the translation string obtained at the first time point; And
When the translation target character string at the third time point is the same as the translation target character string at the first time point, a translation of the translation target character string at the first time point by the second translation engine at the seventh time point after the third time point A third display step of subtracting the result from the translation result of the first translation engine with respect to the translation target character acquired at the first time point; And displaying the translation result.
The method of claim 9, wherein
Wherein the character string to be translated varies with the passage of time based on a user's input,
The translation result display method
The second display step is repeatedly performed until the translation target character at the third time point, which is the later time point, and the translation target character at the first time point, which is the previous time point, are the same.
The method of claim 9, wherein
At least one of an interval between the first time point and the third time point and an interval between the first time point and the seventh time point is an available resource of at least one of the first translation engine and the second translation engine Resource) of the translation result.
The method of claim 9, wherein
When the translation target character string at the eighth time point after the seventh time point is different from the translation target character string at the first time point,
The translation result of the translation target character string at the eighth time point by the first translation engine at the ninth time point after the eighth time point is obtained as the translation result of the second translation engine with respect to the translation target character acquired at the first time point And a fourth display step of displaying the translated result on the display screen.
The method of claim 12, wherein
Before the fourth display step
Displaying an indicator indicating that the translation is being performed from the eighth time point to the ninth time point together with a translation result of the second translation engine with respect to the translation subject character string acquired at the first time point, And displaying the translation result.
A computer program stored on a medium for carrying out the method of any one of claims 1 to 13 using a computer. An apparatus for providing in real time a translation result for an incomplete string during a string input process in combination with a translation engine, the apparatus comprising a processor
The processor
Providing a translation result of the first translation engine for the first character string at a third time point,
Providing a translation result of the first translation engine for the second character string to the translation result of the provided first character string when the first character string is different from the second character string obtained at the third time point,
And providing the translation result of the second translation engine for the first character string to the translation result of the provided first character string when the second character string obtained at the third time point is the same as the first character string, .
An apparatus for displaying a real-time translation result for an incomplete string during a string input process based on translation results of a plurality of translation engines, the apparatus comprising a processor
The processor
Acquiring a translation target character string at a first time point,
Displaying a translation result of the first translation engine with respect to the translation target character string acquired at the first time point at a third time point after the first time point,
When the translation target character string at the third time point and the translation target character string at the first time point are different from each other, at the fifth time point after the third time point, Displaying the translation result in a translation result of the first translation engine with respect to the translation target character acquired at the first time point,
When the translation target character string at the third time point is the same as the translation target character string at the first time point, a translation of the translation target character string at the first time point by the second translation engine at the seventh time point after the third time point And displays the result on the translation result of the first translation engine with respect to the translation target character acquired at the first time point.
The method of claim 16, wherein
Wherein the first translation engine and the second translation engine are provided in a translation server,
Wherein the translation result of the first translation engine and the translation result of the second translation engine are received from the translation server.
The method of claim 16, wherein
Wherein the first translation engine is driven by the processor,
The second translation engine is provided in the translation server,
And the translation result of the second translation engine is received from the translation server.
The method of claim 16, wherein
Wherein the first translation engine and the second translation engine are driven by the processor.
KR1020170160999A 2017-11-28 2017-11-28 Method, apparatus and computer program for providing translation result, method, apparatus and computer program for displaying translation result KR102036350B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170160999A KR102036350B1 (en) 2017-11-28 2017-11-28 Method, apparatus and computer program for providing translation result, method, apparatus and computer program for displaying translation result

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170160999A KR102036350B1 (en) 2017-11-28 2017-11-28 Method, apparatus and computer program for providing translation result, method, apparatus and computer program for displaying translation result

Publications (2)

Publication Number Publication Date
KR20190062027A true KR20190062027A (en) 2019-06-05
KR102036350B1 KR102036350B1 (en) 2019-10-25

Family

ID=66845542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170160999A KR102036350B1 (en) 2017-11-28 2017-11-28 Method, apparatus and computer program for providing translation result, method, apparatus and computer program for displaying translation result

Country Status (1)

Country Link
KR (1) KR102036350B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021107449A1 (en) * 2019-11-25 2021-06-03 주식회사 데이터마케팅코리아 Method for providing knowledge graph-based marketing information analysis service using conversion of transliterated neologisms and apparatus therefor
WO2023158133A1 (en) * 2022-02-18 2023-08-24 에이아이링고 주식회사 Method and computer program for providing editing interface for translated content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020043937A (en) * 2000-12-05 2002-06-12 전대식 A method for supporting client's language on internet service
JP2010079647A (en) * 2008-09-26 2010-04-08 Toshiba Corp Speech translation device, method, and program
KR20150136686A (en) * 2014-05-27 2015-12-08 네이버 주식회사 Method, system and recording medium for providing dictionary function and file distribution system
KR20170063167A (en) * 2015-11-30 2017-06-08 삼성전자주식회사 A method for providing a translation service and an electronic device therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020043937A (en) * 2000-12-05 2002-06-12 전대식 A method for supporting client's language on internet service
JP2010079647A (en) * 2008-09-26 2010-04-08 Toshiba Corp Speech translation device, method, and program
KR20150136686A (en) * 2014-05-27 2015-12-08 네이버 주식회사 Method, system and recording medium for providing dictionary function and file distribution system
KR20170063167A (en) * 2015-11-30 2017-06-08 삼성전자주식회사 A method for providing a translation service and an electronic device therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021107449A1 (en) * 2019-11-25 2021-06-03 주식회사 데이터마케팅코리아 Method for providing knowledge graph-based marketing information analysis service using conversion of transliterated neologisms and apparatus therefor
WO2023158133A1 (en) * 2022-02-18 2023-08-24 에이아이링고 주식회사 Method and computer program for providing editing interface for translated content

Also Published As

Publication number Publication date
KR102036350B1 (en) 2019-10-25

Similar Documents

Publication Publication Date Title
US10679148B2 (en) Implicit bridging of machine learning tasks
US10635977B2 (en) Multi-task learning using knowledge distillation
CN109002510B (en) Dialogue processing method, device, equipment and medium
JP7283009B2 (en) Dialogue understanding model training method, device, device and storage medium
JP6601470B2 (en) NATURAL LANGUAGE GENERATION METHOD, NATURAL LANGUAGE GENERATION DEVICE, AND ELECTRONIC DEVICE
US9323854B2 (en) Method, apparatus and system for location assisted translation
JP6333745B2 (en) Translation result providing method, translation result providing system, program, and file distribution system
US10832004B2 (en) Method, system, and computer program for artificial intelligence answer
US10789431B2 (en) Method and system of translating a source sentence in a first language into a target sentence in a second language
CN108595629B (en) Data processing method and application for answer selection system
EP3475890A1 (en) Reward augmented model training
US10242670B2 (en) Syntactic re-ranking of potential transcriptions during automatic speech recognition
KR20180008247A (en) Platform for providing task based on deep learning
KR20220122566A (en) Text recognition model training method, text recognition method, and apparatus
KR20150063443A (en) Techniques for context-based grouping of messages for translation
US9129016B1 (en) Methods and apparatus for providing query parameters to a search engine
US11734339B2 (en) Generating embeddings in a multimodal embedding space for cross-lingual digital image retrieval
CN115004251A (en) Scene graph generation of unlabeled data
JP2023007369A (en) Translation method, classification model training method, apparatus, device and storage medium
KR102036350B1 (en) Method, apparatus and computer program for providing translation result, method, apparatus and computer program for displaying translation result
WO2019006585A1 (en) Real-time localization
US20180314683A1 (en) Method and device for processing natural language
CN115640815A (en) Translation method, translation device, readable medium and electronic equipment
US20170024405A1 (en) Method for automatically generating dynamic index for content displayed on electronic device
JP2023153723A (en) Generation of conversational responses using neural networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right