Server and method to analyze text data

KR103012784B1Active Publication Date: 2026-09-02NHN CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
KR1020230039867
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-27
Publication Date
2026-09-02
Estimated Expiration
2043-03-27

Smart Images

  • Figure R1020230039867_ABST
    Figure R1020230039867_ABST
Patent Text Reader

Abstract

The server includes an input medium and a processor configured to receive text through the input medium, detect the number of characters contained in the text, and determine one or more markers corresponding to the text based on whether the detected number of characters is greater than a threshold value. Each of the one or more markers indicates a location in the text where pauses are to be applied. When the detected number of characters is greater than the threshold value, the processor is configured to identify morphemes contained in the text, determine the sentence structure of the text based on the identified morphemes, and determine one or more markers according to the sentence structure of the text.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to an electronic device, and more specifically, to a server and a method for analyzing text data. Background Technology

[0002] When reading a document aloud, people basically grasp the sentence structure and pause according to the semantic coherence, but they also pause more naturally by taking into account the air they inhale, language habits, and speech speed.

[0003] Modules for converting text into speech data are being developed. These conventional technologies do not reflect syntax directly related to the meaning of a sentence or the amount of air inhaled for speech, and consequently, speech data with pauses applied may sound unnatural to people when played back. Since these conventional technologies do not reflect the boundaries of segments / speech segments that vary depending on the speaking speed, the position of pauses may always remain constant regardless of the speaking speed, and consequently, speech data with pauses applied may sound unnatural to people when played back.

[0004] The above description is intended solely to aid in understanding the background technology regarding the technical concepts of the present invention, and therefore, it should not be understood as prior art known to those skilled in the art of the present invention. The problem to be solved

[0005] Embodiments of the present invention are intended to provide a server and a method capable of generating voice data from text data that sounds natural to a person when played back. For example, the server may detect the number of characters contained in the text and determine one or more markers corresponding to the text based on whether the detected number of characters is greater than a reference value. In this case, each marker indicates a location where pauses are applied to the text. Based on the markers, the text can be converted into voice data. means of solving the problem

[0006] A server according to an embodiment of the present invention comprises: an input medium; and a processor configured to receive the text through the input medium, detect the number of characters included in the text, and determine one or more markers corresponding to the text based on whether the detected number of characters is greater than a reference value, wherein each of the one or more markers indicates a location where a pause is applied to the text, and when the detected number of characters is greater than the reference value, the processor is configured to identify morphemes included in the text, determine the sentence structure of the text based on the identified morphemes, and determine the one or more markers according to the sentence structure of the text.

[0007] The processor may be configured to determine a maximum value of the number of one or more markers and to determine the number of one or more markers as being less than or equal to the maximum value, depending on which of a plurality of reference ranges the number of detected characters falls into.

[0008] The processor can determine the sentence structure of the text to identify at least one subject included in the text and determine that at least some of the one or more markers are located on the at least one subject.

[0009] The processor can determine the sentence structure of the text to identify at least one conjunction included in the text and determine that at least some of the one or more markers are located on the at least one conjunction.

[0010] The processor can determine the sentence structure of the text to identify two or more sentences included in the text and determine that at least some of the one or more markers are located between the two or more sentences.

[0011] The processor may decide not to apply the pause reading to the text when the number of detected characters is less than or equal to the reference value.

[0012] Another aspect of the present invention relates to a method performed by a server for determining a pause to be applied to text. The method comprises the steps of: receiving the text; detecting the number of characters included in the text; and determining one or more markers corresponding to the text based on whether the detected number of characters is greater than a reference value, wherein each of the one or more markers indicates a location within the text where the pause is to be applied. The step of determining the one or more markers includes the steps of: identifying morphemes included in the text when the detected number of characters is greater than the reference value; determining the sentence structure of the text based on the identified morphemes; and determining the one or more markers according to the sentence structure of the text.

[0013] The step of determining the one or more markers may further include the step of determining a maximum value of the number of the one or more markers depending on which of a plurality of reference ranges the number of detected characters falls into, which is greater than or equal to the reference value. The number of the one or more markers may be less than or equal to the maximum value.

[0014] The step of determining the sentence structure of the above text may include identifying at least one subject included in the above text and determining that at least some of the one or more markers are located on the at least one subject.

[0015] The step of determining the sentence structure of the above text may further include the step of identifying at least one conjunction included in the text when the number of at least one subject is less than the maximum value, and determining that some of the other parts of the one or more markers are located at the at least one conjunction.

[0016] The step of determining the sentence structure of the text may further include the step of identifying two or more sentences included in the text when the number of at least one subject and the number of at least one conjunction adverb are smaller than the maximum value, and determining that another part of the one or more markers is located between the two or more sentences.

[0017] When the number of detected characters is less than or equal to the reference value, the pause reading may not be applied to the text.

[0018] Another aspect of the present invention relates to a network system. The network system comprises: a client device; and a server that communicates with the client device through a network. The server comprises: a network interface connected to the client device through the network; and a processor configured to receive text from the client device through the network interface, detect the number of characters included in the text, and determine one or more markers corresponding to the text based on whether the detected number of characters is greater than a reference value, wherein each of the one or more markers indicates a location where a pause is applied to the text, and the processor is configured to identify morphemes included in the text when the detected number of characters is greater than the reference value, determine the sentence structure of the text based on the identified morphemes, and determine the one or more markers according to the sentence structure of the text. Effects of the invention

[0019] A server and method for analyzing text data according to an embodiment of the present invention can generate voice data from text data that can be heard naturally by a person when played back.

[0020] The effects according to the embodiments are not limited to those exemplified above, and a wider variety of effects are included in this specification. Brief explanation of the drawing

[0021] FIG. 1a is a block diagram showing a computer device configured to perform text-to-speech conversion according to an embodiment of the present invention. FIG. 1b is a block diagram showing an example of a network system including the computer device of FIG. 1a. Figure 2 is a diagram conceptually showing multiple reference ranges used by a voice converter. FIG. 3 is a block diagram showing another embodiment of the computer device of FIG. 1a. FIG. 4 is a flowchart showing a method for determining markers indicating one or more locations where break reading is applied to text, according to an embodiment of the present invention. Figure 5 is a flowchart showing an example of a method for determining markers. Figure 6 is a flowchart showing a method that can be performed in S440 of Figure 4. FIG. 7 is a flowchart showing another embodiment of a method for determining markers. Figure 8 is a diagram conceptually showing markers generated in association with text. Figure 9 is a table for explaining the process of determining whether to generate a marker by determining the sentence structure of the text in Figure 8. Specific details for implementing the invention

[0022] Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. It should be noted that in the following description, only the parts necessary for understanding the operation according to the present invention are described, and the description of other parts is omitted to avoid obscuring the gist of the present invention. Furthermore, the present invention is not limited to the embodiments described herein and may be embodied in other forms. However, the embodiments described herein are provided merely to explain in detail sufficient for a person skilled in the art to easily implement the technical concept of the present invention.

[0023] Throughout the specification, when a part is described as being "connected" to another part, this includes not only cases where they are "directly connected," but also cases where they are "indirectly connected" with other elements interposed between them. The terms used herein are intended to describe specific embodiments and are not intended to limit the invention. Throughout the specification, when a part is described as "comprising" a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components. "At least one of X, Y, and Z" and "at least one selected from the group consisting of X, Y, and Z" may be interpreted as one X, one Y, one Z, or any combination of two or more of X, Y, and Z (e.g., XYZ, XYY, YZ, ZZ). Here, "and / or" includes all combinations of one or more of such components.

[0024] Herein, terms such as first, second, etc. may be used to describe various components, but these components are not limited to these terms. These terms are used to distinguish one component from another. Accordingly, the first component may refer to the second component without departing from what is disclosed herein.

[0025] FIG. 1a is a block diagram showing a computer device configured to perform text-to-speech conversion according to an embodiment of the present invention.

[0026] Referring to FIG. 1a, the computer device (100) may include an input medium (110), a pause controller (120), a voice converter (130), and a storage medium (140).

[0027] The input medium (110) can receive text (TX) from an external source. The input medium (110) may include various input means suitable for receiving text (TX). For example, the input medium (110) may include a user interface configured to receive text (TX) from a user. As another example, the input medium (110) may include a communication interface configured to receive text (TX) from an external terminal. In this case, the communication interface is connected to an external terminal via a network and can receive text (TX) from the external terminal.

[0028] The reading controller (120) is configured to receive text (TX) through an input medium (110). The reading controller (120) detects the number of characters included in the text (TX) and can determine one or more markers (MK) corresponding to the text (TX) when the number of detected characters is greater than a reference value. Additionally, the reading controller (120) can determine a maximum value of the number of markers (MK) depending on which of a plurality of reference ranges the number of characters included in the text (TX) falls into. In this case, the reading controller (120) can generate a number of markers (MK) smaller than the determined maximum value in association with the text (TX).

[0029] In the embodiments, the segmentation controller (120) may analyze the morphemes contained in the text (TX) by referring to the language library (150), determine the sentence structure of the text (TX) based on the analyzed morphemes, and generate markers (MK) pointing to parts of the text (TX) according to the determined sentence structure. Here, the language library (150) stores data structures well known in the field and may store meaningful language units, for example, morphemes and / or words. For example, the language library (150) may store representative words and derived words that have the same meaning but different parts of speech.

[0030] In the embodiments, the segmentation controller (120) may include an artificial intelligence (AI) machine trained to output information about the sentence structure of the input text when text is input. The segmentation controller (120) inputs text (TX) into the AI ​​machine and obtains a sentence structure corresponding to the text (TX) from the AI ​​machine. The segmentation controller (120) may generate markers (MK) pointing to parts of the text (TX) according to the obtained sentence structure.

[0031] Specific operations of the break-read controller (120) generating markers (MK) will be described in more detail with reference to FIGS. 4 through 7.

[0032] The voice converter (130) is configured to receive text (TX) through an input medium (110) and to receive markers (MK) from a pause controller (120). The voice converter (130) may generate voice data (AD) corresponding to the text (TX) by referencing the markers (MK) and store the generated voice data (AD) in a storage medium (140). The voice converter (130) will recognize parts of the text (TX) indicated by the markers (MK) and generate voice data (AD) that reads the text (TX) while pausing between those parts.

[0033] The storage medium (140) is connected to the voice converter (130). The storage medium (140) can store voice data (AD). In embodiments, the storage medium (140) may include volatile memory and / or non-volatile memory.

[0034] Voice data (AD) stored in the storage medium (140) can be converted into a voice signal and transmitted to a person through various methods. For example, the computer device (100) may include a speaker, and the voice data (AD) stored in the storage medium (140) can be converted into a voice signal that a person can hear and output through the speaker. As another example, the computer device (100) may include a communication interface connected to an external terminal, and the voice data (AD) stored in the storage medium (140) is provided to the external terminal through the communication interface, and the external terminal can convert the provided voice data (AD) into a voice signal that a person can hear and output it.

[0035] FIG. 1b is a block diagram showing an example of a network system including the computer device of FIG. 1a.

[0036] Referring to FIG. 1b, the network (200) may include a network (205), a client device (210), and a voice conversion server (220).

[0037] The network (205) connects components within the network system (200), such as a client device (210) and a voice conversion server (220). The network (205) may include at least one of a public network, at least one private network, a wired network, a wireless network, other suitable types of networks, and combinations thereof. Each component within the network system (200) may include at least one of wired communication functions and wireless communication functions, and accordingly, may communicate with one another through the network (205).

[0038] The client device (210) may be a user terminal owned by a general user and may communicate with the voice conversion server (220) through a network (205). In embodiments, the client device (210) includes an application (e.g., a web browser or a dedicated application) capable of interacting with the voice conversion server (220), and the application may access the voice conversion server (220) in response to user inputs, transmit text (TX, see FIG. 1a) to the voice conversion server (220), and receive voice data (AD, see FIG. 1a) corresponding to the text (TX) from the voice conversion server (220).

[0039] As an example, the client device (210) may include a device capable of transmitting and receiving information in a wired and / or wireless environment, such as a computer, UMPC (Ultra Mobile PC), workstation, netbook, PDA (Personal Digital Assistants), portable computer, web tablet, wireless phone, mobile phone, smartphone, e-book, PMP (portable multimedia player), portable game console, etc.

[0040] The voice conversion server (220) may be provided as a network server configured to communicate with a client device (210) via a network (205). The voice conversion server (220) may be implemented as a computer device (100) described with reference to FIG. 1a. In this case, the input medium (110) of FIG. 1a may function as a communication interface that communicates with the client device (210) via the network (205). For example, the input medium (110) may receive text (TX) from the client device (210) and provide the received text (TX) to a punctuation controller (120) and a voice converter (130) as described with reference to FIG. 1a. Additionally, the input medium (110) may transmit voice data (AD) stored in a storage medium (140) to the client device (210) via the network (205).

[0041] Figure 2 is a diagram conceptually showing multiple reference ranges used by a voice converter.

[0042] Referring to FIG. 1a and FIG. 2, a plurality of reference values ​​(RV1 to RV5) may be provided. In FIG. 2, five reference values ​​(RV1 to RV5) are exemplified. First to fourth reference ranges (RR1 to RR4) are defined according to the first to fifth reference values ​​(RV1 to RV5). The range between the first and second reference values ​​(RV1, RV2) is defined as the first reference range (RR1), the range between the second and third reference values ​​(RV2, RV3) is defined as the second reference range (RR2), the range between the third and fourth reference values ​​(RV3, RV4) is defined as the third reference range (RR3), and the range between the fourth and fifth reference values ​​(RV4, RV5) is defined as the fourth reference range (RR4).

[0043] The break-reading controller (120) can determine markers (MK) corresponding to the text (TX) based on whether the number of characters included in the text (TX) is greater than a first reference value (RV1). For example, the first reference value (RV1) may be 12, and the break-reading controller (120) does not perform operations for determining markers when the number of characters included in the text (TX) is equal to or less than 12. The break-reading controller (120) can start performing operations for determining markers (MK) when the number of characters included in the text (TX) is greater than 12.

[0044] Additionally, the break-reading controller (120) can determine the maximum value of the number of markers (MK) depending on which of the first to fourth reference ranges (RR1 to RR4) the number of characters included in the text (TX) belongs to. For example, the first, second, third, fourth, and fifth reference values ​​(RV1, RV2, RV3, RV4, RV5) may be 12, 26, 50, 100, and 200, respectively. In this case, when the number of characters included in the text (TX) is greater than 12 and less than or equal to 26, the maximum number of markers (MK) may be 2; when the number of characters included in the text (TX) is greater than 26 and less than or equal to 50, the maximum number of markers (MK) may be 3; when the number of characters included in the text (TX) is greater than 50 and less than 100, the maximum number of markers (MK) may be 4; when the number of characters included in the text (TX) is greater than 100 and less than 200, the maximum number of markers (MK) may be 6; and when the number of characters included in the text (TX) is greater than 200, the maximum number of markers (MK) may be 8. In this way, the break-reading controller (120) can determine the maximum number of markers (MK) depending on whether the number of characters included in the text (TX) belongs to the first to fourth reference ranges (RR1 to RR4) or a greater number of reference ranges.

[0045] If markers (MK) are generated solely based on the sentence structure of the text (TX), an excessive number of markers (MK) may be generated. In such cases, the pauses in the speech signal corresponding to the voice data may sound unnatural to humans.

[0046] On the other hand, according to an embodiment of the present invention, the number of generated markers (MK) is limited to a maximum value determined based on the number of characters of the text (TX). In other words, the pause controller (120) generates a number of markers (MK) smaller than the determined maximum value in relation to the text (TX). Accordingly, voice data (AD) that performs adaptive pause reading based on the length of the text (TX) can be generated, and the resulting voice signal can be heard naturally by a person.

[0047] FIG. 3 is a block diagram showing another embodiment of the computer device of FIG. 1a.

[0048] Referring to FIG. 3, the computer device (300) may include a processor (310), system memory (320), power supply (330), input medium (340), input medium interface (I / F) (345), output medium (350), output medium interface (355), storage medium (360), storage medium interface (365), and bus (370), etc.

[0049] The processor (310) may be either a general-purpose or a dedicated processor. The processor (310) can control the various operations of the computer device (300). The processor (310) is configured to load program codes and instructions that provide various functions when executed into system memory (320) and to process the loaded program codes and instructions.

[0050] The system memory (320) may be provided as a working memory and / or buffer memory of the processor (310). As an example, the system memory (320) may include at least one of RAM (Random Access Memory), ROM (Read Only Memory), and other types of computer-readable media.

[0051] The processor (310) can load program codes and / or instructions into system memory (320) and execute the loaded program codes and / or instructions. The processor (310) can load a reading control module (321) into system memory (320) that performs the functions of the reading controller (120) described with reference to FIG. 1a when executed by the processor (310), and can execute the loaded reading control module (321) to perform the functions of the reading controller (120) of FIG. 1a. Additionally, the processor (310) can load a voice conversion module (322) into system memory (320) that performs the functions of the voice converter (130) described with reference to FIG. 1a when executed by the processor (310), and can execute the loaded voice conversion module (322) to perform the functions of the voice converter (130) of FIG. 1a. In this way, the functions of the segmented reading controller (120) and the voice converter (130) of FIG. 1a can be performed by loading program codes and / or instructions into the system memory (320) and executing the loaded program codes and / or instructions.

[0052] Program codes and / or instructions may be loaded into system memory (320) from a storage medium (360) which is a recording medium readable by a computer device (300). Alternatively, program codes and / or instructions may be received from an external device through a network interface configured to communicate with an external device, such as a communication module, via a network, and loaded into system memory (320).

[0053] In FIG. 3, the system memory (320) is shown as being separate from the processor (310), but at least a portion of the system memory (320) may be included in the processor (310). Depending on the embodiments, the system memory (320) may be provided as a plurality of memories that are physically and / or logically separated from each other.

[0054] The power supply (330) can provide a power voltage for one or more components of the processor (310), system memory (320), input medium (340), input medium interface (345), output medium (350), output medium interface (355), storage medium (360), and storage medium interface (365) to operate.

[0055] The input medium (340) may be configured to receive input data from outside the computer device (300). The input medium (340) may provide input data to the processor (310) through an input medium interface (345). In embodiments, the input medium (340) may include one or more of input means such as a camera, keyboard, mouse, touchpad, etc. The input medium (340) may be provided as the input medium (110) of FIG. 1a. In this case, the input medium (340) may receive the text (TEXT) of FIG. 1a.

[0056] The input media interface (345) is connected to the input media (340). The input media interface (345) can interface between the input media (340) and components such as the processor (310) and system memory (320) connected to the bus (370).

[0057] The output medium (350) may be configured to convert electrical signals of the computer device (300) into signals of various forms and output them. The output medium (350) may receive electrical signals through the output medium interface (350) and may convert the received electrical signals into signals of suitable forms (e.g., sound) according to the embodiments. In the embodiments, the output medium (350) may include a display device, a speaker, etc. For example, the output medium (350) may be configured to output voice data (AD) stored in the storage medium (140) of FIG. 1a in response to the control of the processor (310) in the form of a voice signal that can be perceived by a human.

[0058] The output media interface (355) is connected to the output media (350). The output media interface (355) can interface between the output media (350) and components such as the processor (310) and system memory (320) connected to the bus (370).

[0059] A storage medium (360) is configured to store data. The storage medium (360) may include various types of non-volatile storage media that retain stored data even when the power is cut off. Non-volatile storage media may include, for example, flash memory, hard disk, etc. In embodiments, the storage medium (360) may be provided as at least part of the storage medium (140) and / or language library (150) of FIG. 1a.

[0060] The storage media interface (365) is connected to the storage media (360). The storage media interface (365) can interface between the storage media (360) and components such as the processor (310) and system memory (320) connected to the bus (370).

[0061] The bus (370) can be connected to various components of the computer device (300) to transmit data, signals, and information.

[0062] FIG. 4 is a flowchart showing a method for determining markers indicating one or more locations where break reading is applied to text, according to an embodiment of the present invention.

[0063] Referring to FIG. 1a and FIG. 4, at S410, text to be used to generate voice data is received. At S420, the number of characters contained in the received text is detected. The number of characters contained in the text can be detected through various methods known in the field.

[0064] In S430, it is determined whether the number of detected characters is higher than the threshold value. If so, step S440 is performed.

[0065] In S440, the sentence structure of the text can be determined to determine markers (MK) for segmentation. A language library (150) can be referenced to analyze the morphemes contained in the text (TX), determine the sentence structure of the text (TX) based on the analyzed morphemes, and generate markers (MK) pointing to parts of the text (TX) based on the determined sentence structure.

[0066] In the embodiments, morphemes (or words) are identified from the text (TX), and phrases of the text (TX) are identified from the identified morphemes to determine the sentence structure. In this case, the phrases of the text (TX) may refer to the linguistic components of the text (TX) separated by spaces. For example, if the text (TX) is "However, as this fact became known, the parents of the school in question and local organizations are strongly protesting, claiming that Principal A's behavior is irrational," then the phrases may be "however," "this," "like," "the fact," "as it became known," "the school in question," "with the parents," "in local organizations," "Principal A's," "behavior," "claiming it is irrational," "strongly," "rejecting," and "is."

[0067] It can be determined whether each identified phrase corresponds to a predetermined language type. For example, a marker may be generated for a phrase depending on whether each phrase corresponds to a subject and / or a conjunction. For example, when text (TX) contains two or more sentences, a marker may be generated for a phrase located between the sentences.

[0068] In this way, the sentence structure of the text (TX) can be analyzed, parts of the text (TX) to which segments are to be applied can be detected based on the analyzed sentence structure, and markers (MK) pointing to the detected parts can be generated. Accordingly, when the text (TX) is converted into voice data (AD) by a device such as the voice converter (130) of FIG. 1a, the voice data (AD) can be heard as a natural voice, such as a real human voice, rather than an unnatural voice such as a mechanical voice when played back.

[0069] In the embodiments, S410 to S440 can be performed by the break-read controller (120) of FIG. 1a. In the embodiments, S410 to S440 can be performed by the break-read control module (321) loaded into the system memory (320) of FIG. 3 and executed by the processor (310).

[0070] FIG. 5 is a flowchart showing an example of a method for determining markers. The steps of FIG. 5 may correspond to an example of S440 of FIG. 4.

[0071] Referring to FIG. 1a and FIG. 5, in S510, it is determined whether at least one subject is identified among the phrases of the text (TX). If so, S520 is performed. If not, S530 is performed.

[0072] In S520, at least one marker is generated that is located at least one identified subject. For example, a marker may be generated that points immediately after the subject phrase (or subject phrase) (for example, between the subject phrase and the phrase immediately following the subject phrase).

[0073] In S530, it is determined whether at least one conjunction is identified among the phrases of the text (TX). If so, S540 is performed. If not, S540 is performed.

[0074] In S540, at least one marker is generated that is located at least one identified conjunction adverb. For example, a marker may be generated that points immediately after the corresponding adverbial phrase (or adverbial phrase) (for example, between the adverbial phrase and the phrase immediately following the adverbial phrase).

[0075] In S550, it is determined whether the text (TX) contains two or more sentences. If so, S560 is performed.

[0076] In S560, at least one marker is generated located between two or more sentences.

[0077] The markers generated in S520, S540, and S560 can be provided as the markers (MK) of FIG. 1a.

[0078] Through repeated tests, the applicant found that pausing immediately after a subject phrase, immediately after a conjunction phrase, and between two sentences sounds natural to a person. Accordingly, by performing S510 to S560, voice data (AD) generated based on markers (MK) can be heard as a natural voice, such as a real human voice, rather than an unnatural voice like a machine voice when played back.

[0079] Figure 6 is a flowchart showing a method that can be performed in S440 of Figure 4.

[0080] Referring to FIG. 1a and FIG. 6, in S610, the maximum value of the number of markers (MK) can be determined depending on which of the first to fourth reference ranges (RR1 to RR4) of FIG. 2 the number of characters included in the text (TX) belongs to. For example, when the number of characters in the text (TX) is greater than 12 and less than or equal to 26, the maximum number of markers (MK) may be 2; when the number of characters in the text (TX) is greater than 26 and less than or equal to 50, the maximum number of markers (MK) may be 3; when the number of characters in the text (TX) is greater than 50 and less than 100, the maximum number of markers (MK) may be 4; when the number of characters in the text (TX) is greater than 100 and less than 200, the maximum number of markers (MK) may be 6; and when the number of characters in the text (TX) is greater than 200, the maximum number of markers (MK) may be 8.

[0081] The break-read controller (120) can generate a number of markers (MK) for the text (TX) that is smaller than the determined maximum value.

[0082] FIG. 7 is a flowchart showing another embodiment of a method for determining markers. The steps of FIG. 7 correspond to another embodiment of S440 of FIG. 4 and can be performed after S610 of FIG. 6 is performed.

[0083] Referring to FIG. 1a and FIG. 7, in S710, it is determined whether at least one subject among the phrases is identified. If so, S720 is performed. If not, S730 is performed.

[0084] In S720, at least one marker is generated that is located at least one identified subject. For example, a marker pointing immediately after the subject phrase may be generated.

[0085] In S730, it is determined whether the number of markers generated in S720 is less than the maximum number of markers (MK) determined in S610 of FIG. 6. If so, S740 is performed.

[0086] In S740, it is determined whether at least one conjunction is identified among the phrases of the text (TX). If so, S750 is performed. If not, S760 is performed.

[0087] In S750, at least one marker is generated that is located at least one identified conjunction adverb. For example, a marker pointing immediately after the corresponding adverbial phrase may be generated.

[0088] In S760, it is determined whether the number of markers generated in S720 and S750 is less than the maximum number of markers (MK) determined in S610 of FIG. 6. If so, S770 is performed.

[0089] In S770, it is determined whether the text (TX) contains two or more sentences. If so, S780 is performed.

[0090] In S780, at least one marker is generated located between two or more sentences.

[0091] The markers generated in S720, S750, and S780 can be provided as the markers (MK) of FIG. 1a.

[0092] The number of markers (MK) can be limited according to a maximum value determined based on the number of characters in the text (TX) in this manner. Accordingly, speech data (AD) that adaptively pauses based on the number (or length) of characters in the text (TX) can be generated, and the resulting speech signal can sound natural to a human listener.

[0093] FIG. 8 is a diagram conceptually showing markers generated in association with text. FIG. 9 is a table for explaining the process of determining whether to generate markers by identifying the sentence structure of the text in FIG. 8.

[0094] Referring to Figures 8 and 9, the text (TX) of Figure 1a, "However, as this fact became known, parents of the school and local organizations are strongly protesting, saying that Principal A's actions are unreasonable," can be received.

[0095] First, the morphemes included in this text (TX) can be analyzed. As illustrated in Fig. 9, from the text (TX), the general adverb "however," the adjective "this," the verb "like," the adjectival inflectional ending "is," the noun "fact," the particle "this," the verb "known," the conjunction "person," the noun "corresponding," the noun "school," the noun "parents," the particle "and," the noun "local group," the auxiliary particle "in," the noun "Principal A," the particle "of," the noun "action," the particle "this," the noun "unconventional," the conjunction "saying," the verb "strengthen," the conjunction "like," the verb "reject," the conjunction "and," the auxiliary predicate "is," and the terminal ending "is" can be extracted as morphemes.

[0096] Subsequently, the sentence structure of the text (TX) can be identified based on the extracted morphemes. For example, based on the extracted morphemes, phrases containing those morphemes can be classified. For instance, "however" can be classified as a general adverbial phrase, "this" as an adjectival phrase, "like" as an adjectival phrase, "the fact is" as a nominative noun phrase, "let it be known" as a verb phrase with a conjunction, "the relevant school" as a noun phrase, "with the parents" as an adverbial noun phrase, "in the local organization" as a nominative noun phrase, "Principal A's" as a genitive noun phrase, "behavior" as a nominative noun phrase, "saying it is unsense" as a verb phrase with a conjunction, "strongly" as a verb phrase with a conjunction, "rejecting" as a verb phrase with a conjunction, and "is" as a terminal verb phrase.

[0097] A marker can be generated by referring to the sentence structure of the analyzed text (TX). In the embodiments, it is determined whether each phrase of the analyzed text (TX) corresponds to a subject (or the subject of the entire sentence), a conjunction, or a part where sentences are separated, and a marker representing each determined part can be generated. For example, "but" corresponds to a conjunction, and accordingly, a marker is generated at the position of "but." For example, "but when this fact became known" and "parents of the school and local organizations are strongly protesting, saying that Principal A's behavior is irrational" are identified as two sentences, and accordingly, a marker is generated at the position of "when it became known," which is the part where sentences are separated. For example, "in local organizations" corresponds to the subject of the entire sentence of the text (TX), and accordingly, a marker is generated at the position of "in local organizations." Voice data (AD) can be generated based on the markers generated in this way, and accordingly, the voice data (AD) can be configured to read text (TX) by pausing at the locations indicated by the markers.

[0098] In the embodiments, the maximum number of markers (MK) may be determined according to S610 of FIG. 6. In this case, the number of markers (MK) that can be generated is limited to the maximum value. For example, markers for at least some of the phrases of text (TX) corresponding to the subject, conjunctions, or parts where sentences are separated may not be generated. For example, markers pointing to some of the phrases corresponding to subject noun phrases, such as "facts" and "actions," may not be generated. For example, markers pointing to parts where sentences are separated may not be generated.

[0099] According to these processes, voice data (AD) generated based on markers (MK) can be heard as a natural voice like a real human voice when played back, rather than an unnatural voice like a machine voice.

[0100] Although specific embodiments and applications have been described herein, other embodiments and variations may be derived from the foregoing description. Accordingly, the scope of the invention is not limited to these embodiments but extends to the claims set forth below, various obvious variations, and equivalents. Explanation of the symbols

[0101] 110: Input Media 120: Pause controller 130: Voice Converter 140: Storage media 150: Language Library 310: Processor 320: System memory 321: Break-to-read control module 322: Speech conversion module

Claims

Claim 1 A server comprising: an input medium; and a processor configured to receive text through the input medium, detect the number of characters included in the text, and determine one or more markers corresponding to the text based on whether the detected number of characters is greater than a reference value, wherein each of the one or more markers indicates a location where a pause is applied to the text, and when the detected number of characters is greater than the reference value, the processor is configured to identify morphemes included in the text, determine the sentence structure of the text based on the identified morphemes, and determine the one or more markers according to the sentence structure of the text, and the processor is configured to determine a maximum value of the number of the one or more markers and determine the one or more markers as a number less than or equal to the maximum value, depending on which of a plurality of reference ranges the detected number of characters falls into. Claim 2 delete Claim 3 In claim 1, the processor determines the sentence structure of the text to identify at least one subject included in the text, and determines that at least some of the one or more markers are located on the at least one subject. Claim 4 In claim 1, the processor determines the sentence structure of the text to identify at least one conjunction included in the text, and the server determines that at least some of the one or more markers are located on the at least one conjunction. Claim 5 In claim 1, the processor determines the sentence structure of the text to identify two or more sentences included in the text, and the server determines that at least some of the one or more markers are located between the two or more sentences. Claim 6 In claim 1, the processor is a server that determines not to apply the pause reading to the text when the number of detected characters is less than or equal to the reference value. Claim 7 A method performed by a server for determining a pause to be applied to a text, comprising: receiving the text; detecting the number of characters included in the text; and determining one or more markers corresponding to the text based on whether the number of detected characters is greater than a reference value, wherein each of the one or more markers indicates a location within the text where the pause is to be applied, and the step of determining the one or more markers includes: identifying morphemes included in the text when the number of detected characters is greater than the reference value; determining the sentence structure of the text based on the identified morphemes; and determining the one or more markers according to the sentence structure of the text, further comprising a step of determining a maximum value of the number of the one or more markers based on which of a plurality of reference ranges the number of detected characters is greater than or equal to the reference value, wherein the number of the one or more markers is less than or equal to the maximum value. Claim 8 delete Claim 9 In claim 7, the step of determining the sentence structure of the text comprises identifying at least one subject included in the text and determining that at least some of the one or more markers are located on the at least one subject. Claim 10 In claim 9, the step of determining the sentence structure of the text further comprises the step of identifying at least one conjunction included in the text when the number of at least one subject is less than the maximum value, and determining that some of the other parts of the one or more markers are located on the at least one conjunction. Claim 11 In claim 10, the step of determining the sentence structure of the text further comprises the step of identifying two or more sentences included in the text when the number of at least one subject and the number of at least one conjunction adverb are smaller than the maximum value, and determining that another part of the one or more markers is located between the two or more sentences. Claim 12 A method in which, in claim 7, the break-reading is not applied to the text when the number of detected characters is less than or equal to the reference value. Claim 13 A network system comprising: a client device; and a server communicating with the client device via a network, wherein the server comprises: a network interface connected to the client device via the network; and a processor configured to receive text from the client device via the network interface, detect the number of characters included in the text, and determine one or more markers corresponding to the text based on whether the detected number of characters is greater than a reference value, wherein each of the one or more markers indicates a location where a pause is applied to the text, and wherein the processor is configured to identify morphemes included in the text when the detected number of characters is greater than the reference value, determine the sentence structure of the text based on the identified morphemes, and determine the one or more markers according to the sentence structure of the text, and wherein the processor is configured to determine a maximum value of the number of the one or more markers and determine the one or more markers as a number less than or equal to the maximum value, depending on which of a plurality of reference ranges the detected number of characters falls into.

Citation Information

Patent Citations

  • Method for tagging for prosodic module of speechsynthesizer in Korean

    KR1020040055288A

  • Apparatus and method for speech synthesis using a plurality of break index

    KR1020100072962A