Splitting device
The segmentation device improves real-time translation by segmenting character strings into chunks using forward and backward likelihoods, addressing the processing speed issues of existing devices and facilitating efficient translation.
Patent Information
- Application Number
- JP2022511593
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-04-02
- Filing Date
- 2021-02-02
- Publication Date
- 2025-08-15
- Estimated Expiration
- 2041-02-02
Smart Images

Figure 0007724205000001 
Figure 0007724205000002 
Figure 0007724205000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a dividing device. [Background technology]
[0002] In order to perform machine translation of sequentially input character strings, such as character strings obtained by speech recognition of an utterance, it is necessary to divide the character string into appropriate processing units. For example, Patent Document 1 discloses a processing device that divides a character string, which is a concatenation of a determined character string obtained by speech recognition processing and a candidate character string corresponding to a speech section during the speech recognition processing, into processing unit character strings at division points that indicate the positions of morphemes that can serve as starting positions of processing units for natural language processing. This processing device detects division points for each of multiple character strings, which are each formed by concatenating a determined character string with each of multiple candidate character strings, and if the substrings obtained by dividing each string at the division points contain a common character string, the string is designated as a processing unit character string. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-60127 Summary of the Invention [Problem to be solved by the invention]
[0004] The processing device described in Patent Document 1 processes multiple character strings, which can take a long time to complete. Therefore, when attempting to simultaneously translate character strings input in real time, delays may occur.
[0005] The present disclosure describes a segmentation device that can improve processing speed. [Means for solving the problem]
[0006] A segmentation device according to one aspect of the present disclosure is a device that segments a character string into chunks, which are processing units. The segmentation device includes: an acquisition unit that acquires multiple words constituting the character string one by one from the beginning of the character string; a first calculation unit that calculates a forward segmentation likelihood indicating the likelihood of segmenting the character string just before the first word acquired by the acquisition unit, and a backward segmentation likelihood indicating the likelihood of segmenting the character string just after the first word; a detection unit that detects segmentation points, which are positions at which the character string will be segmented, based on the forward segmentation likelihood and the backward segmentation likelihood; a generation unit that generates chunks by segmenting the character string at the segmentation points; and an output unit that outputs the chunks.
[0007] In this segmentation device, words constituting a character string are acquired in order from the beginning of the character string, and a forward segmentation likelihood indicating the likelihood of segmenting the character string just before the acquired first word and a backward segmentation likelihood indicating the likelihood of segmenting the character string just after the first word are calculated. Then, segmentation points are detected based on the forward segmentation likelihood and the backward segmentation likelihood, and chunks are generated by segmenting the character string at the segmentation points. Because the forward segmentation likelihood and the backward segmentation likelihood are calculated using a single first word and the segmentation points are detected, there is no need to process multiple character strings. As a result, the time required to generate chunks can be shortened, enabling improved processing speed. [Effects of the Invention]
[0008] According to the present disclosure, processing speed can be improved. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a schematic diagram of a translation system including a division device according to an embodiment. [Figure 2] FIG. 2 is a block diagram illustrating a functional configuration of the dividing device shown in FIG. [Figure 3] FIG. 3 is a flowchart showing a series of steps in the translation method performed by the translation system shown in FIG. [Figure 4]FIG. 4 is a flowchart showing a series of processes of the division method performed by the division device shown in FIG. [Figure 5] FIG. 5 is a flowchart showing in detail an example of the division boundary detection process of FIG. [Figure 6] FIG. 6 is a diagram for explaining the process of calculating the forward division likelihood and the backward division likelihood. [Figure 7] FIG. 7 is a diagram illustrating the process of generating chunks. [Figure 8] FIG. 8 is a flowchart showing in detail another example of the division boundary detection process of FIG. [Figure 9] FIG. 9 is a diagram illustrating a hardware configuration of the dividing device illustrated in FIG. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same elements are designated by the same reference numerals, and duplicated explanations will be omitted.
[0011] The configuration of a translation system including a segmentation device according to one embodiment will be described with reference to Fig. 1. Fig. 1 is a schematic diagram of a translation system including a segmentation device according to one embodiment. The translation system 1 shown in Fig. 1 is a system that translates spoken content in real time. The translation system 1 includes a speech recognition device 10, a segmentation device 20, and a translation device 30.
[0012] The speech recognition device 10 is a device that converts a speech signal into a character string (text data). For example, when a user speaks using a microphone, the microphone generates a speech signal corresponding to the speech. The speech recognition device 10 generates a character string by performing a known speech recognition process on the speech signal. The speech recognition device 10 performs the speech recognition process using, for example, an acoustic model and a language model. Note that since the language model is trained in units of morphological analysis, the speech recognition device 10 generates a character string divided into word units as a speech recognition result. Each time the speech recognition device 10 generates a speech recognition result for one word, it sequentially outputs the word to the segmentation device 20.
[0013] The division device 20 is a device that divides a character string input from the speech recognition device 10 into chunks. A chunk is a processing unit that is processed in a subsequent processing unit. In this case, the subsequent processing unit is the translation device 30, and therefore the chunk is a processing unit that is suitable for the translation processing performed by the translation device 30. An example of the division device 20 is an information processing device such as a server device. Details of the division device 20 will be described later.
[0014] The translation device 30 is a device that translates character strings in chunk units. The translation device 30 is, for example, a simultaneous translation (real-time translation) device. The translation device 30 translates chunks using bilingual data for simultaneous translation. The translation device 30 may be a machine translation model that causes a computer to function to receive chunks as input and output translation results. An example of a machine translation model is an NMT (Neural Machine Translation) model. In this case, the translation device 30 is generated by performing machine learning using each of multiple bilingual data included in a bilingual corpus for simultaneous translation as training data. The translation device 30 sequentially outputs translation results obtained by translating chunks. The translation device 30 outputs the translation results to an output device such as a display and speaker (not shown), for example.
[0015] The functional configuration of the dividing device 20 will be described with reference to Fig. 2. Fig. 2 is a block diagram showing the functional configuration of the dividing device shown in Fig. 1. As shown in Fig. 2, the dividing device 20 functionally comprises a clock unit 21, an acquisition unit 22, a calculation unit 23 (first calculation unit), a calculation unit 24 (second calculation unit), a detection unit 25, a generation unit 26, and an output unit 27. The function (operation) of each functional unit will be described in detail in the explanation of the dividing method given later, so the function of each functional unit will be briefly described here.
[0016] The timing unit 21 is a functional unit that measures the time that has elapsed since the previous division. Specifically, the timing unit 21 measures the time that has elapsed since the previous division point (described later) was detected. The beginning of a character string can be regarded as a division point. In other words, if no division points have been detected in a character string, the timing unit 21 measures the time that has elapsed since the beginning of the character string. When the timing unit 21 receives a reset command from the detection unit 25, it resets the elapsed time to zero.
[0017] The acquiring unit 22 is a functional unit that acquires a plurality of words that make up a character string one by one from the beginning of the character string. The acquiring unit 22 acquires the words one by one from the voice recognition device 10.
[0018] The calculation unit 23 is a functional unit that calculates a forward division likelihood and a backward division likelihood of a word acquired by the acquisition unit 22. The forward division likelihood is a value indicating the likelihood that a character string will be divided before a word. The forward division likelihood is, for example, a sigmoid function value and can take a value from 0 to 1. A larger forward division likelihood means a higher possibility that a character string will be divided before a word. The backward division likelihood is a value indicating the likelihood that a character string will be divided immediately after a word. The backward division likelihood is, for example, a sigmoid function value and can take a value from 0 to 1. A larger backward division likelihood means a higher possibility that a character string will be divided immediately after a word. The calculation unit 23 calculates the forward division likelihood and the backward division likelihood using, for example, a DNN (Deep Neural Network).
[0019] The calculation unit 24 is a functional unit that calculates a score based on the elapsed time. The calculation unit 24 calculates the score so that the score increases as the elapsed time increases. The score takes a value between 0 and 1, for example.
[0020] The detection unit 25 is a functional unit that detects division points based on the forward division likelihood and the backward division likelihood. In this embodiment, the detection unit 25 further detects division points based on the score. A division point is a position at which a character string is divided. The detection unit 25 detects division points using, for example, a threshold value Sth1 (first threshold value) for the forward division likelihood and a threshold value Sth2 (second threshold value) for the backward division likelihood. The threshold values Sth1 and Sth2 are determined in advance. The threshold value Sth2 may be the same as or different from the threshold value Sth1. When the detection unit 25 detects a division point, it outputs a reset command to the timer unit 21.
[0021] The generation unit 26 is a functional unit that generates chunks by dividing a character string at division points. For example, the generation unit 26 divides a character string and generates chunks by inserting delimiter tags at the division points of the character string.
[0022] The output unit 27 is a functional unit that outputs chunks and transmits (outputs) the chunks to the translation device 30.
[0023] Next, the translation method performed by the translation system 1 will be described with reference to Figs. 3 to 7. Fig. 3 is a flowchart showing a series of processes in the translation method performed by the translation system shown in Fig. 1. Fig. 4 is a flowchart showing a series of processes in the division method performed by the division device shown in Fig. 1. Fig. 5 is a flowchart showing in detail an example of the division point detection process of Fig. 4. Fig. 6 is a diagram for explaining the process of calculating forward division likelihood and backward division likelihood. Fig. 7 is a diagram for explaining the process of generating chunks. The series of processes shown in Fig. 3 is started, for example, when a user speaks using a microphone.
[0024] 3, first, the speech recognition device 10 acquires a speech signal (step S01). For example, the speech signal is input by a user via a microphone.
[0025] Next, the speech recognition device 10 performs speech recognition processing on the speech signal (step S02). The speech recognition device 10 performs speech recognition processing using, for example, an acoustic model and a language model. In this embodiment, since the language model is trained in units of morphological analysis, the speech recognition device 10 generates a character string divided into words as a speech recognition result. Then, every time the speech recognition device 10 generates a speech recognition result for one word, the speech recognition device 10 sequentially transmits (outputs) the word to the segmentation device 20.
[0026] Next, the division device 20 performs a division process (step S03). In step S03, as shown in FIG. 4, first, the timing unit 21 starts measuring the elapsed time (step S31). The timing unit 21 starts measuring the elapsed time, for example, when the division device 20 receives the first word of a character string from the speech recognition device 10. Then, the acquisition unit 22 acquires the word (target word) transmitted by the speech recognition device 10 (step S32). Then, the acquisition unit 22 outputs the target word (first word) to the calculation unit 23 and the generation unit 26.
[0027] Next, when the calculation unit 23 receives the target word from the acquisition unit 22, it calculates the forward division likelihood and the backward division likelihood of the target word (step S33). For example, the calculation unit 23 calculates the forward division likelihood and the backward division likelihood of the target word using a DNN. As shown in FIG. 6, in this embodiment, the calculation unit 23 uses an LSTM (Long Short-Term Memory) as the DNN architecture. The LSTM is a type of RNN (Recurrent Neural Network). The LSTM is a neural network configured to receive, in order as input, each element of time-series data in which a plurality of elements are arranged, and to allow the influence of elements that have already been input to affect the output.
[0028] As shown in Figure 6, the LSTM receives the output of the LSTM recursively, so the LSTM can be schematically represented as multiple blocks B arranged in a row. Each block B is an LSTM layer that receives one word as input and outputs the forward splitting likelihood and backward splitting likelihood of that word. Each block B outputs a value to the subsequent block B to indicate the influence of the word input to the block B before that block B. The subsequent block B receives the word following the word input to block B. The LSTM is trained in advance using multiple strings divided into chunks. For example, the LSTM is trained using training data in which each word in a string is input, and the backward splitting likelihood of the word located immediately before the splitting point in the string is set to 1, the forward splitting likelihood of the word located immediately after the splitting point is set to 1, and the other splitting likelihoods are set to 0.
[0029] The calculation unit 23 sequentially inputs the target word from the beginning of block B of the LSTM. Then, block B to which the target word has been input outputs the forward division likelihood and backward division likelihood of the target word. Then, the calculation unit 23 outputs the forward division likelihood and backward division likelihood of the target word to the detection unit 25.
[0030] Next, the calculation unit 24 receives information indicating the elapsed time from the timing unit 21 and calculates a score based on the elapsed time (step S34). Specifically, the calculation unit 24 calculates the score so that the score increases as the elapsed time increases. Here, the calculation unit 24 calculates the score using a scoring method that linearly increases the score as the elapsed time increases. For example, if the aim is to generate chunks at least once every 5 seconds, the calculation unit 24 linearly increases the score from 0 to 1 as the elapsed time increases from 0 to 5 seconds. Then, the calculation unit 24 outputs the score to the detection unit 25.
[0031] Next, the detection unit 25 receives the forward division likelihood and backward division likelihood of the target word from the calculation unit 23, and upon receiving the score from the calculation unit 24, detects division points in the character string (step S35). In step S35, the detection unit 25 first compares the forward division likelihood of the target word with a threshold Sth1 and determines whether the forward division likelihood is equal to or greater than the threshold Sth1 or less than the threshold Sth1 (step S51). If the detection unit 25 determines that the forward division likelihood is equal to or greater than the threshold Sth1 (step S51; YES), it detects a point just before the target word as a division point (step S52). "Just before the target word" means a point between the target word and the word just before the target word (the second word). Then, the detection unit 25 outputs information indicating the position of the division point detected in step S52 to the generation unit 26 and outputs a reset command to the timer unit 21, and the division point detection process of step S35 ends.
[0032] On the other hand, when the detection unit 25 determines that the forward division likelihood is less than the threshold value Sth1 (step S51; NO), it calculates a modified backward division likelihood based on the backward division likelihood of the target word and the score. Here, the detection unit 25 calculates the modified backward division likelihood by adding the score to the backward division likelihood of the target word. Then, the detection unit 25 compares the modified backward division likelihood with a threshold value Sth2 and determines whether the modified backward division likelihood is greater than or equal to the threshold value Sth2 or less than the threshold value Sth2 (step S53).
[0033] If the detection unit 25 determines that the corrected backward division likelihood is equal to or greater than the threshold value Sth2 (step S53; YES), it detects a point immediately after the target word as a division point (step S54). Immediately after the target word means the point between the target word and the word immediately after the target word (the third word). Then, the detection unit 25 outputs information indicating the position of the division point detected in step S54 to the generation unit 26 and outputs a reset command to the timer unit 21, and the division point detection process of step S35 ends.
[0034] On the other hand, if the detection unit 25 determines that the corrected backward division likelihood is less than the threshold value Sth2 (step S53; NO), it determines that there are no division points before or after the target word. Then, the acquisition unit 22 acquires the next target word (step S32). Thereafter, steps S33 to S35 are performed again.
[0035] 6, assume that the thresholds Sth1 and Sth2 are both set to 0.85. In this case, the forward division likelihood of the word "from" is 0.9, so the point between the words "minutes" and "from" is detected as the division point.
[0036] Next, when the generating unit 26 receives information indicating the positions of the division points from the detecting unit 25, it generates chunks (step S36). Specifically, as shown in Fig. 7, the generating unit 26 arranges the words acquired by the acquiring unit 22 in the order of acquisition, and inserts delimiter tags Stag indicating the division points at the positions of the division points. In the example of Fig. 7, the delimiter tags Stag are the string <sep>With this configuration, the character string between the beginning of the character string and the first delimiter tag Stag, and the character string sandwiched between two delimiter tags Stag, are each generated as a chunk. Then, the generation unit 26 outputs the chunk to the output unit 27 each time it generates a chunk (each time it inserts a delimiter tag Stag).
[0037] Next, when the output unit 27 receives the chunk (character string including the delimiter tag Stag) generated by the generation unit 26, it transmits (outputs) the chunk (character string including the delimiter tag Stag) to the translation device 30 (step S37). The output unit 27 may transmit only the chunks included in the character string one by one to the translation device 30. This completes the division process of step S03.
[0038] Next, when translation device 30 receives the chunks from division device 20, it translates the chunks (step S04). Then, translation device 30 sequentially outputs the translation results (step S05). Translation device 30 outputs the translation results to an output device such as a display and speaker (not shown), for example.
[0039] This completes the series of processes in the translation method. Note that in step S51, the detection unit 25 determines whether the forward division likelihood is equal to or greater than the threshold value Sth1, but may instead determine whether the forward division likelihood is greater than the threshold value Sth1. Similarly, in step S53, the detection unit 25 determines whether the corrected backward division likelihood is equal to or greater than the threshold value Sth2, but may instead determine whether the corrected backward division likelihood is greater than the threshold value Sth2.
[0040] That is, when at least the condition that the forward division likelihood is greater than a threshold value Sth1 is satisfied, the detection unit 25 detects the portion between the target word and the word immediately preceding the target word as a division point. When at least the condition that the forward division likelihood is less than the threshold value Sth1 and the modified backward division likelihood obtained by adding the score to the backward division likelihood is greater than a threshold value Sth2 is satisfied, the detection unit 25 detects the portion between the target word and the word immediately following the target word as a division point.
[0041] Since the score is used in step S53, step S34 may be performed at any timing after the target word is acquired in step S32 and before the determination in step S53 is made. If it is determined in step S51 that the forward split likelihood is equal to or greater than the threshold value Sth1, step S34 may be omitted.
[0042] In the segmentation device 20 described above, words constituting a string are acquired sequentially from the beginning of the string, and a forward segmentation likelihood indicating the likelihood of segmenting the string before the acquired target word and a backward segmentation likelihood indicating the likelihood of segmenting the string immediately after the target word are calculated. Then, segmentation points are detected based on the forward segmentation likelihood and the backward segmentation likelihood, and chunks are generated by segmenting the string at the segmentation points. When segmenting a string that is input sequentially (in real time), such as in streaming, into chunks, it is not possible to segment the sentence (string) into chunks by looking at the entire sentence (string). In the segmentation device 20, the forward segmentation likelihood and the backward segmentation likelihood are calculated using a single target word to detect segmentation points, so there is no need to acquire the entire string or process multiple strings. As a result, the time required to generate chunks can be shortened, and processing speed can be improved.
[0043] Generally, in a situation where the next word after the target word has not been acquired, the calculation accuracy of the forward division likelihood is higher than the calculation accuracy of the backward division likelihood. Therefore, by using the forward division likelihood, the detection accuracy of the division point can be improved. On the other hand, since a speaker may pause speech at a unit of meaning, the subsequent word may not be input immediately in the middle of a character string. In such a case, even if a division point is found immediately after the target word, the forward division likelihood is not calculated until the next word is input. In contrast, by using the backward division likelihood, the division point can be detected immediately. As a result, it is possible to generate chunks suitable for the translation process of the translation device 30 and to shorten the time required to generate the chunks.
[0044] When the forward division likelihood is greater than the threshold value Sth1, the detection unit 25 detects the point between the target word and the word immediately preceding the target word as a division point. As described above, in a situation where the word following the target word has not been acquired, the calculation accuracy of the forward division likelihood is higher than the calculation accuracy of the backward division likelihood. Therefore, with the above configuration, the forward division likelihood is used to detect the division point between the target word and the word immediately preceding the target word, thereby improving the detection accuracy of the division point. As a result, it is possible to generate chunks that are more suitable for the translation process of the translation device 30.
[0045] As described above, there are cases where a subsequent word is not input immediately in the middle of a character string. In such cases, even if a segmentation point is located immediately after the target word, the forward segmentation likelihood is not calculated until the next word is input. When the modified backward segmentation likelihood obtained by adding a score to the backward segmentation likelihood is greater than threshold Sth2, the detection unit 25 detects the segmentation point between the target word and the word immediately following the target word. With this configuration, segmentation points are detected for character strings input in real time, taking elapsed time into consideration. Therefore, it is possible to reduce the time required to generate chunks. As a result, it is possible to generate chunks suitable for simultaneous translation (simultaneous interpretation) for seamless translation.
[0046] The calculation unit 23 calculates the forward division likelihood and the backward division likelihood using LSTM. With this configuration, the forward division likelihood and the backward division likelihood of the target word are calculated taking into account words that appear before the target word. Therefore, the accuracy of the forward division likelihood and the backward division likelihood can be improved, and it becomes possible to generate chunks that are more suitable for the translation process of the translation device 30.
[0047] Although the embodiments of the present disclosure have been described above, the present disclosure is not limited to the above embodiments.
[0048] The dividing device 20 may be configured by a single device that is physically or logically coupled, or may be configured by multiple devices that are physically or logically separated from each other. For example, the dividing device 20 may be realized by multiple computers distributed over a network, such as in cloud computing. As described above, the configuration of the dividing device 20 may include any configuration that can realize the functions of the dividing device 20.
[0049] The detection unit 25 calculates the modified backward division likelihood by adding the score to the backward division likelihood of the target word, but may calculate the modified backward division likelihood by multiplying the backward division likelihood of the target word by the score.
[0050] The detection unit 25 may calculate the modified forward division likelihood based on the forward division likelihood of the target word and the score. For example, the detection unit 25 may calculate the modified forward division likelihood by adding the score to the forward division likelihood of the target word. In this case, the detection unit 25 may perform the determination in step S51 using the modified forward division likelihood.
[0051] The segmentation device 20 may not include the timer 21 and the calculation unit 24. In this case, the detection unit 25 detects a segmentation point based on the forward segmentation likelihood and backward segmentation likelihood of the target word without considering the elapsed time. In this configuration, when the forward segmentation likelihood of the target word is greater than a threshold Sth1 (or equal to or greater than the threshold Sth1), the detection unit 25 detects a segmentation point between the target word and the word immediately preceding the target word. When the forward segmentation likelihood is equal to or less than the threshold Sth1 (or less than the threshold Sth1) and the backward segmentation likelihood is greater than a threshold Sth2 (or equal to or greater than the threshold Sth2), the detection unit 25 detects a segmentation point between the target word and the word immediately following the target word. As described above, even if a subsequent word is not immediately input in the middle of a string, the backward segmentation likelihood can be used to quickly detect a segmentation point. Therefore, the time required to generate chunks can be reduced. As a result, chunks suitable for simultaneous translation for seamless translation can be generated.
[0052] In simultaneous translation, it is necessary to divide a character string into segments of an appropriate length so as not to interrupt the translation. Therefore, if a segmentation point has not been detected at the beginning of the character string or after the previous segmentation point even after a predetermined time has elapsed, the detection unit 25 may detect a segmentation point.
[0053] Fig. 8 is a flowchart showing in detail another example of the segmentation detection process of Fig. 4. The segmentation detection process shown in Fig. 8 differs from the segmentation detection process shown in Fig. 5 mainly in that it further includes steps S55 and S56. More specifically, in step S53, if the detection unit 25 determines that the corrected backward segmentation likelihood is less than threshold Sth2 (step S53; NO), it further compares the elapsed time with threshold Tth and determines whether the elapsed time is greater than or equal to threshold Tth (third threshold) or less than threshold Tth (step S55). Threshold Tth is the maximum waiting time that can be tolerated by a subsequent processing unit (translation device 30), and is determined in advance.
[0054] When the detection unit 25 determines that the elapsed time is equal to or greater than the threshold Tth (step S55; YES), it detects, as a division point, a position corresponding to the largest division likelihood among the forward division likelihoods of each word after the previous division point and the backward division likelihood of the last acquired word (step S56). If no division points have been detected from the beginning of the character string, the beginning of the character string is regarded as the previous division point. In other words, the detection unit 25 detects, as a division point, a position corresponding to the largest division likelihood among the forward division likelihoods of each word after the beginning of the character string and the backward division likelihood of the last acquired word.
[0055] If a certain word has the highest forward division likelihood, the detection unit 25 detects the portion between that word and the word immediately preceding it as a division point. If the last acquired word has the highest backward division likelihood, the detection unit 25 detects the portion between the last word and the word immediately following it as a division point. Then, the detection unit 25 outputs information indicating the position of the division point detected in step S56 to the generation unit 26 and outputs a reset command to the timer unit 21, and the division point detection process of step S35 ends.
[0056] On the other hand, in step S55, if the detection unit 25 determines that the elapsed time is less than the threshold value Tth (step S55; NO), it determines that there are no segmentation points before or after the target word. Then, the acquisition unit 22 acquires the next target word (step S32). Thereafter, steps S33 to S35 are performed again.
[0057] In step S55, the detection unit 25 determines whether the elapsed time is equal to or greater than the threshold value Tth, but may instead determine whether the elapsed time is greater than the threshold value Tth. In other words, the detection unit 25 performs the process of step S56 when at least the condition that the elapsed time is greater than the threshold value Tth is satisfied.
[0058] With this configuration, a segmentation point is always detected when the elapsed time reaches the threshold value Tth. This prevents the downstream processing unit (translation device 30) from having to wait for processing. As a result, it becomes possible to generate chunks suitable for simultaneous translation for seamless translation.
[0059] When the translation result output from the translation device 30 is played back by voice, the calculation unit 24 may change the score from 0 to 1 when playback of the translation result of the previous chunk is completed. With this configuration, even if a segmentation point is not detected before playback of the translation result of the previous chunk is completed, the segmentation point is detected as the point between the target word at the end of playback and the word immediately following the target word. This prevents the processing unit (translation device 30) from having to wait for processing. As a result, it becomes possible to generate chunks suitable for simultaneous translation to translate seamlessly.
[0060] The block diagrams used to explain the above embodiments show functional blocks. These functional blocks (components) are realized by any combination of at least one of hardware and software. The method for realizing each functional block is not particularly limited. That is, each functional block may be realized using a single device that is physically or logically coupled, or may be realized using two or more physically or logically separated devices that are connected directly or indirectly (for example, by wire, wirelessly, etc.) and these multiple devices. The functional block may also be realized by combining software with the single device or multiple devices.
[0061] Functions include, but are not limited to, judgment, determination, judgment, calculation, computation, processing, derivation, investigation, search, confirmation, receiving, transmitting, output, accessing, resolving, selection, choosing, establishing, comparing, assuming, expecting, regarding, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, and assigning. For example, a functional block (component) that performs transmission is called a transmitting unit or transmitter. As mentioned above, there are no particular limitations on how these functions are implemented.
[0062] For example, the dividing device 20 according to an embodiment of the present disclosure may function as a computer that performs the processing of the present disclosure. Fig. 9 is a diagram illustrating an example of a hardware configuration of the dividing device 20 according to an embodiment of the present disclosure. The dividing device 20 described above may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, and the like.
[0063] In the following description, the term "apparatus" can be interpreted as a circuit, a device, a unit, etc. The hardware configuration of the dividing apparatus 20 may be configured to include one or more of the apparatuses shown in the drawings, or may be configured to exclude some of the apparatuses.
[0064] Each function in the splitting device 20 is realized by loading specified software (programs) onto hardware such as the processor 1001 and memory 1002, causing the processor 1001 to perform calculations, control communication via the communication device 1004, and control at least one of reading and writing data in the memory 1002 and storage 1003.
[0065] The processor 1001 controls the entire computer by running, for example, an operating system. The processor 1001 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic unit, and registers. For example, each function of the above-mentioned dividing device 20 may be realized by the processor 1001.
[0066] The processor 1001 reads programs (program codes), software modules, data, etc. from at least one of the storage 1003 and the communication device 1004 into the memory 1002, and executes various processes in accordance with these. The program used is a program that causes a computer to execute at least some of the operations described in the above-described embodiments. For example, each function of the division device 20 may be realized by a control program stored in the memory 1002 and running on the processor 1001. While the above-described various processes have been described as being executed by one processor 1001, they may also be executed simultaneously or sequentially by two or more processors 1001. The processor 1001 may be implemented by one or more chips. The program may also be transmitted from a network via a telecommunications line.
[0067] The memory 1002 is a computer-readable recording medium and may be configured by, for example, at least one of a read-only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), and a random access memory (RAM). The memory 1002 may also be called a register, a cache, a main memory (primary storage device), or the like. The memory 1002 can store an executable program (program code), a software module, or the like for implementing a division method according to an embodiment of the present disclosure.
[0068] Storage 1003 is a computer-readable recording medium, and may be composed of at least one of, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray disc), a smart card, a flash memory (e.g., a card, a stick, a key drive), a floppy disk, and a magnetic strip. Storage 1003 may also be referred to as an auxiliary storage device. The above-mentioned recording medium may be, for example, a database, a server, or other appropriate medium including at least one of memory 1002 and storage 1003.
[0069] The communication device 1004 is hardware (transmission / reception device) for communicating between computers via at least one of a wired network and a wireless network, and is also referred to as, for example, a network device, a network controller, a network card, or a communication module. The communication device 1004 may be configured to include a high-frequency switch, a duplexer, a filter, a frequency synthesizer, etc. to realize at least one of frequency division duplex (FDD) and time division duplex (TDD). For example, the above-mentioned acquisition unit 22 and output unit 27 may be realized by the communication device 1004.
[0070] The input device 1005 is an input device (for example, a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc.) that receives input from the outside. The output device 1006 is an output device (for example, a display, a speaker, an LED lamp, etc.) that outputs to the outside. The input device 1005 and the output device 1006 may be integrated into one device (for example, a touch panel).
[0071] The processor 1001, memory 1002, and other devices are connected by a bus 1007 for communicating information. The bus 1007 may be configured using a single bus, or may be configured using different buses between the devices.
[0072] The dividing device 20 may be configured to include hardware such as a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA), and some or all of the functional blocks may be realized by the hardware. For example, the processor 1001 may be implemented using at least one of these pieces of hardware.
[0073] Notification of information is not limited to the aspects / embodiments described in the present disclosure, and may be performed using other methods.
[0074] The order of the procedures, sequences, flowcharts, etc. of each aspect / embodiment described in this disclosure may be changed unless it is inconsistent. For example, the methods described in this disclosure present elements of various steps using an example order, and are not limited to the particular order presented.
[0075] Information and the like may be output from a higher layer to a lower layer, or from a lower layer to a higher layer. Information and the like may be input and output via multiple network nodes.
[0076] Input and output information may be stored in a specific location (for example, memory) or may be managed using a management table. Input and output information may be overwritten, updated, or added to. Output information may be deleted. Input information may be sent to another device.
[0077] The determination may be made based on a value represented by one bit (0 or 1), a Boolean value (true or false), or a numerical comparison (e.g., comparison with a predetermined value).
[0078] Each aspect / embodiment described in the present disclosure may be used alone, in combination, or switched depending on the implementation. Notification of predetermined information (e.g., notification that "X is true") is not limited to explicit notification, but may be performed implicitly (e.g., by not notifying the predetermined information).
[0079] Although the present disclosure has been described in detail above, it is clear to those skilled in the art that the present disclosure is not limited to the embodiments described herein. The present disclosure can be implemented in modified and altered forms without departing from the spirit and scope of the present disclosure as defined by the claims. Therefore, the description of the present disclosure is intended to be illustrative and does not have any limiting meaning on the present disclosure.
[0080] Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
[0081] Software, instructions, information, etc. may be transmitted or received over a transmission medium. For example, if software is transmitted from a website, server, or other remote source using wired technologies (such as coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL)), and / or wireless technologies (such as infrared, microwave), then these wired and / or wireless technologies are included within the definition of transmission media.
[0082] The information, signals, etc. described in this disclosure may be represented using any of a variety of different technologies. For example, data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof.
[0083] In addition, terms explained in this disclosure and terms necessary for understanding this disclosure may be replaced with terms having the same or similar meanings.
[0084] As used in this disclosure, the terms "system" and "network" are used interchangeably.
[0085] The information, parameters, etc. described in this disclosure may be expressed using absolute values, relative values from a predetermined value, or corresponding other information.
[0086] The names used for the parameters described above are not limiting in any way, and the formulas and the like using these parameters may differ from those explicitly disclosed in this disclosure.
[0087] As used in this disclosure, the terms "determining" and "determining" may encompass a wide variety of actions. "Determining" and "determining" may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up, searching, inquiring (e.g., searching in a table, database, or other data structure), ascertaining, and the like. "Determining" and "determining" may include receiving (e.g., receiving information), transmitting (e.g., sending information), input, output, accessing (e.g., accessing data in memory), and the like. "Judgment" and "decision" can include the act of considering resolving, selecting, choosing, establishing, comparing, etc. to be a "judgment" or "decision." In other words, "judgment" and "decision" can include the act of considering some action to be a "judgment" or "decision." "Judgment" may be read as "assuming," "expecting," or "considering," etc.
[0088] The terms "connected," "coupled," or any variation thereof, refer to any direct or indirect connection or coupling between two or more elements, and may include the presence of one or more intermediate elements between two elements that are "connected" or "coupled" to each other. The coupling or connection between elements may be physical, logical, or a combination thereof. For example, "connected" may be read as "access." When "connected" or "coupled" is used in this disclosure, the two elements that are connected or coupled may be considered to be "connected" or "coupled" to each other using at least one of an electric wire, a cable, and a printed electrical connection, as well as electromagnetic energy having wavelengths in the radio frequency range, the microwave range, and the optical (both visible and invisible) range, as some non-limiting and non-exhaustive examples.
[0089] As used in this disclosure, the phrase "based on" does not mean "based only on," unless expressly stated otherwise. In other words, the phrase "based on" means both "based only on" and "based at least on."
[0090] As used in this disclosure, any reference to an element using designations such as "first" and "second" does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient method of distinguishing between two or more elements. Thus, a reference to a first and a second element does not imply that only two elements may be employed or that the first element must in some way precede the second element.
[0091] The "unit" in the configuration of each of the above devices may be replaced with a "circuit" or a "device", etc.
[0092] When used in this disclosure, the terms "include," "including," and variations thereof are intended to be inclusive, similar to the term "comprising." Furthermore, when used in this disclosure, the term "or" is not intended to be an exclusive or.
[0093] In this disclosure, where articles are added by translation, such as "a," "an," and "the" in English, the disclosure may include that the nouns following these articles are plural.
[0094] In the present disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean "A and B are each different from C." Terms such as "separate" and "coupled" may also be interpreted in the same way as "different." [Explanation of symbols]
[0095] 1...translation system, 10...speech recognition device, 20...division device, 21...timing unit, 22...acquisition unit, 23...calculation unit (first calculation unit), 24...calculation unit (second calculation unit), 25...detection unit, 26...generation unit, 27...output unit, 30...translation device, 1001...processor, 1002...memory, 1003...storage, 1004...communication device, 1005...input device, 1006...output device, 1007...bus.< / sep>
Claims
1. A dividing device that divides a character string into chunks that are processing units, an acquisition unit that acquires a plurality of words that constitute the character string one by one from the beginning of the character string; a first calculation unit that calculates a forward division likelihood indicating a likelihood of dividing the character string before the first word acquired by the acquisition unit, and a backward division likelihood indicating a likelihood of dividing the character string immediately after the first word; a detection unit that detects division points, which are positions at which the character string is divided, based on the forward division likelihood and the backward division likelihood; a generation unit that generates the chunks by dividing the character string at the division points; an output unit that outputs the chunk; Equipped with the first calculation unit receives as input each word of a training string, and inputs the first word into a Long Short-Term Memory (LSTM) trained using training data in which a backward division likelihood of a word located immediately before a division point included in the training string is set to 1, a forward division likelihood of a word located immediately after the division point is set to 1, and other division likelihoods are set to 0, thereby acquiring the forward division likelihood and the backward division likelihood of the first word from the LSTM; The detection unit detects the division point between the first word and the second word immediately before the first word when the forward division likelihood is greater than a predetermined first threshold, and detects the division point between the first word and the third word immediately after the first word when the forward division likelihood is smaller than the first threshold and the backward division likelihood is greater than a predetermined second threshold.
2. A dividing device that divides a character string into chunks that are processing units, an acquisition unit that acquires a plurality of words that constitute the character string one by one from the beginning of the character string; a first calculation unit that calculates a forward division likelihood indicating a likelihood of dividing the character string before the first word acquired by the acquisition unit, and a backward division likelihood indicating a likelihood of dividing the character string immediately after the first word; a detection unit that detects division points, which are positions at which the character string is divided, based on the forward division likelihood and the backward division likelihood; a timing unit that measures the elapsed time since the previous division point was detected; a second calculation unit that calculates the score so that the score increases as the elapsed time increases; a generation unit that generates the chunks by dividing the character string at the division points; an output unit that outputs the chunk; Equipped with the first calculation unit receives as input each word of a training string, and inputs the first word into a Long Short-Term Memory (LSTM) trained using training data in which a backward division likelihood of a word located immediately before a division point included in the training string is set to 1, a forward division likelihood of a word located immediately after the division point is set to 1, and other division likelihoods are set to 0, thereby acquiring the forward division likelihood and the backward division likelihood of the first word from the LSTM; the detection unit detects, as the division point, a portion between the first word and a second word immediately preceding the first word when the forward division likelihood is greater than a predetermined first threshold, and detects, as the division point, a portion between the first word and a third word immediately following the first word when the forward division likelihood is less than the first threshold and the modified backward division likelihood is greater than a predetermined second threshold; The modified backward division likelihood is obtained by adding the score to the backward division likelihood or by multiplying the backward division likelihood by the score.
3. The segmentation device described in claim 2, wherein when the elapsed time is greater than a predetermined third threshold, the detection unit detects as the segmentation point a position corresponding to the largest segmentation likelihood among the forward segmentation likelihood of each word after the previous segmentation point and the backward segmentation likelihood of the last acquired word.
Citation Information
Patent Citations
Method for detecting boundary in token column, device, program and recording medium
JP2008065435A
Voice simultaneous processor and method and program
JP2015060127A
Language analysis device, language analysis method, and program
JP2017208049A
Training simultaneous multi-task neural network models using sequential regularization
JP2019533259A