Information processing device and program

The information processing device employs a learning model to extract ruby groups and specify corresponding character strings, overcoming the challenge of handling ruby annotations in existing technologies and achieving accurate text structuring.

JP7673491B2Active Publication Date: 2025-05-09DAI NIPPON PRINTING CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021087600
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-05-25
Publication Date
2025-05-09
Estimated Expiration
2041-05-25

AI Technical Summary

Technical Problem

Existing technologies are unable to specify character strings corresponding to ruby annotations in documents, which are essential for accurate text structuring and processing.

Method used

An information processing device equipped with an extraction unit and a specifying unit, where the extraction unit uses a learning model to identify ruby groups within a sentence, and the specifying unit determines the corresponding ruby character strings based on the extracted groups.

Benefits of technology

Enables the accurate specification and structuring of ruby character strings within text, effectively addressing the limitations of previous technologies in handling ruby annotations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007673491000001
    Figure 0007673491000001
  • Figure 0007673491000002
    Figure 0007673491000002
  • Figure 0007673491000003
    Figure 0007673491000003
Patent Text Reader

Abstract

To provide an information processing apparatus and a program which can specify a character string corresponding to readings.SOLUTION: An information processing apparatus (computer) 1 according to the present invention has an extracting unit 10a for extracting a group of readings for each word of a text in a sentence, and a specifying unit 10b for specifying a character string attached with the readings in the text corresponding to each group of the readings extracted by the extracting unit 10a.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device and a program. [Background technology]

[0002] In recent years, a technology that recognizes characters in a document (unstructured data) that is image data such as a PDF (Portable Document Format) file and converts the data into a document (structured data) such as an XML (Extensible Markup Language) file has become widely used. For example, Patent Document 1 discloses an information processing device that includes a recognition unit that recognizes characters in the document from a document image, a specification unit that specifies the structure of each element of the document image, and a character processing unit that detects errors in the characters recognized by the recognition unit and corrects the characters to be correct, based on the structure specified by the specification unit. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2020-166658 A Summary of the Invention [Problem to be solved by the invention]

[0004] However, the invention of Patent Document 1 has a problem in that it is not possible to specify the character string that corresponds to the ruby.

[0005] In one aspect, an object of the present invention is to provide an information processing device or the like capable of identifying a character string corresponding to ruby. [Means for solving the problem]

[0006] According to one aspect, an information processing device includes an extraction unit that extracts a ruby ​​group for each word in a body of a sentence, and a specification unit that specifies a ruby-based character string in the sentence that corresponds to each ruby ​​group extracted by the extraction unit.The extraction unit is characterized in that the sentence is input to a learning model that has learned ruby ​​groups for each word in the main text of the sentence, and ruby ​​groups for each word in the main text of the sentence are extracted. . Effect of the Invention

[0007] In one aspect, it is possible to identify the string that corresponds to the ruby. [Brief description of the drawings]

[0008] [Figure 1] FIG. 2 is a block diagram showing an example of the configuration of a computer. [Diagram 2] 11 is an explanatory diagram for explaining the process of extracting a group of ruby ​​characters and the process of identifying a ruby-based character string. FIG. [Diagram 3] FIG. 11 is an explanatory diagram illustrating a process of outputting structured data. [Figure 4] 11 is a flowchart showing a processing procedure when performing a structuring process on a sentence. [Diagram 5] 13 is a flowchart showing the procedure of a subroutine for extracting a group of ruby ​​characters; [Figure 6] 13 is a flowchart showing the procedure of a subroutine for identifying a ruby ​​character string. [Figure 7] FIG. 11 is a block diagram showing an example of the configuration of a computer according to a second embodiment. [Figure 8] FIG. 13 is an explanatory diagram illustrating an example of a record layout of a ruby ​​dictionary. [Figure 9] FIG. 2 is an explanatory diagram of a Ruby detector. [Figure 10] 10 is a flowchart showing a processing procedure for performing a sentence structuring process according to the second embodiment. [Figure 11] 13 is a flowchart showing the procedure of a subroutine for specifying a ruby-based character string according to the second embodiment. [Figure 12] FIG. 2 is a functional block diagram showing the operation of the computer according to the above embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, the present invention will be described in detail with reference to the drawings showing embodiments thereof.

[0010] (Embodiment 1) The first embodiment relates to a form in which structuring processing is performed on a text including ruby ​​characters.

[0011] The system of this embodiment includes an information processing device 1. The information processing device 1 is an information processing device that processes, stores, and transmits / receives various types of information. The information processing device 1 is, for example, a server device, a personal computer, or a general-purpose tablet PC (personal computer). In this embodiment, the information processing device 1 is a personal computer that structures text including ruby ​​characters, and will be referred to as a computer 1 below for simplicity.

[0012] A computer 1 according to this embodiment acquires a sentence containing ruby ​​characters, and extracts ruby ​​character groups from the acquired sentence. The computer 1 identifies ruby-bearing character strings in the sentence that correspond to each of the extracted ruby ​​character groups. The computer 1 performs a structuring process on the sentence based on each of the extracted ruby ​​character groups and the ruby-bearing character strings that correspond to each of the ruby ​​character groups. The computer 1 outputs the structured data obtained by performing the structuring process.

[0013] 1 is a block diagram showing an example of the configuration of a computer 1. The computer 1 includes a control unit 11, a storage unit 12, a communication unit 13, an input unit 14, a display unit 15, and a reading unit 16. Each component is connected by a bus B.

[0014] The control unit 11 includes an arithmetic processing device such as a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), and a GPU (Graphics Processing Unit), and performs various information processing, control processing, and the like related to the computer 1 by reading and executing the control program 1P stored in the storage unit 12. The control program 1P can be deployed so as to be executed on a single computer or at one site, or distributed across multiple sites and on multiple computers interconnected by a communication network. Although the control unit 11 is described in FIG. 1 as being a single processor, it may be a multiprocessor.

[0015] The storage unit 12 includes memory elements such as a RAM (Random Access Memory) and a ROM (Read Only Memory), and stores the control program 1P or data required for the control unit 11 to execute processing. The storage unit 12 also temporarily stores data required for the control unit 11 to execute arithmetic processing. The communication unit 13 is a communication module for performing processing related to communication.

[0016] The input unit 14 is an input device such as a mouse, a keyboard, a touch panel, or a button, and outputs received operation information to the control unit 11. The display unit 15 is a liquid crystal display, an organic EL (electroluminescence) display, or the like, and displays various information according to instructions from the control unit 11.

[0017] The reading unit 16 reads the portable storage medium 1a including a CD (Compact Disc)-ROM or a DVD (Digital Versatile Disc)-ROM. The control unit 11 may read the control program 1P from the portable storage medium 1a via the reading unit 16 and store it in the storage unit 12. The control unit 11 may also download the control program 1P from another computer via a network or the like and store it in the storage unit 12. Furthermore, the control unit 11 may read the control program 1P from the semiconductor memory 1b.

[0018] The computer 1 may be executed as a single computer, may be distributed and executed on a plurality of computers, or may be distributed and executed on a virtual machine.

[0019] FIG. 2 is an explanatory diagram for explaining the process of extracting a group of ruby ​​and the process of identifying a ruby-covered character string. A group of ruby ​​is ruby ​​that is added to a character in a sentence on a word-by-word or character-by-character basis. For example, for the ruby-covered character string "Bunkyo-ku," the ruby ​​group is "Bunkyo-ku."

[0020] FIG. 2A is an explanatory diagram for explaining the process of extracting a group of ruby ​​characters. First, the control unit 11 of the computer 1 acquires unstructured data of a sentence including ruby ​​characters. The unstructured data is a sentence image to which no text data (character code, etc.) is added, or a PDF file obtained by reading a sentence with a scanner. The unstructured data may be stored in the storage unit 12 in advance, or may be acquired from an external device. In addition, in this embodiment, an example in which the unstructured data is a PDF file will be described, but the same can be applied to other unstructured data.

[0021] In this embodiment, an example of a PDF file of text including ruby ​​will be described, but the present invention is not limited to this. For example, when the control unit 11 acquires page data of a magazine, book, etc., it identifies structural elements (title, body text, caption, etc.) for the acquired page data. The control unit 11 may extract text based on the identified structural elements.

[0022] For example, when the control unit 11 acquires a sentence such as "Bunkyo-ku is an area with many educational institutions" which includes the ruby ​​group "bunkyo-ku kyoiku kikan chiiki", it reads the sentence as it is using, for example, optical character recognition (OCR) technology. In this case, the control unit 11 outputs the read result of "Bunkyo-ku is an area with many educational institutions", which makes it impossible to distinguish between ruby ​​and ruby-covered characters, and thus makes it impossible to execute structuring processing of the sentence. This problem can be solved by the processing shown in FIG. 2A.

[0023] Specifically, the control unit 11 uses OCR technology to recognize the writing direction (vertical writing, horizontal writing, etc.) of the text included in the acquired PDF file and the characters in the text. The control unit 11 uses OCR technology to detect position information (e.g., coordinates) of each recognized character.

[0024] As shown in the figure, for the sentence "Bunkyo-ku is an area with many educational institutions," which includes the ruby ​​group "Bunkyo-ku is an area with many educational institutions," the control unit 11 uses OCR technology to detect the coordinate values ​​of each character (ruby and ruby-covered characters) included in the sentence. In FIG. 2, the direction from left to right on the paper is the positive direction of the x-axis, and the direction from top to bottom on the paper is the positive direction of the y-axis. For example, the control unit 11 detects the coordinate value of the top left corner of "bu" which is (x1, y1), and the coordinate value of the bottom right corner of "bu" which is (x1', y1'). The control unit 11 detects the coordinate value of the top left corner of "n" which is (x2, y2), and the coordinate value of the bottom right corner of "n" which is (x2', y2'). The control unit 11 detects the coordinate value of the top left corner of "bun" which is (x3, y3), and the coordinate value of the bottom right corner of "bun" which is (x3', y3').

[0025] Next, the control unit 11 extracts a group of ruby ​​characters based on the coordinate values ​​of the characters in the sentence. Specifically, the control unit 11 calculates the size of each character (character size) based on the coordinate values ​​of the top left and bottom right of each character. For example, for "bu", the control unit 11 calculates the size (horizontal and vertical lengths) of "bu" based on the formulas "x1'-x1" and "y1'-y1". If the calculated size of a character is within a predetermined range or less than the size of other characters (for example, "bun"), the control unit 11 determines that the character is ruby. For example, the control unit 11 may determine that the character is ruby ​​if the calculated size of a character is half or less of the size of other characters.

[0026] When the control unit 11 determines that the character is a ruby, it extracts a ruby ​​group including the ruby. Specifically, the control unit 11 calculates the distance between the ruby ​​and the next ruby ​​based on the coordinate value of the ruby, and extracts the ruby ​​group based on the calculated distance between the ruby.

[0027] For example, the control unit 11 calculates the difference (x2-x1') between the x coordinate value (x2) of the top left corner of the ruby ​​"n" and the x coordinate value (x1') of the top right corner of the ruby ​​"bu" preceding the ruby ​​"n" as the distance between "bu" and "n". The control unit 11 compares the calculated distance between the rubies with a predetermined distance threshold for the distance between rubies (e.g., 1pt). If the calculated distance between the rubies is equal to or less than the predetermined distance threshold, the control unit 11 determines that "bu" and "n" are included in the same ruby ​​group.

[0028] The control unit 11 calculates the distance between the ruby ​​"n" and the ruby ​​"ki" next to the ruby ​​"n" and judges whether the "ki" is included in the same ruby ​​group. The control unit 11 performs the above process until the distance between the ruby ​​characters exceeds a predetermined distance threshold, and extracts multiple ruby ​​characters whose distance between the ruby ​​characters is equal to or less than the predetermined distance threshold as a ruby ​​group.

[0029] The process of extracting groups of ruby ​​characters is not limited to the process described above. For example, the control unit 11 calculates the distance between each pair of ruby ​​characters. The control unit 11 may extract, as a group of ruby ​​characters, ruby ​​characters with a small distance between them based on the calculated distance between each pair of ruby ​​characters.

[0030] The process of extracting the ruby ​​group is not limited to the above-mentioned method of extracting the ruby ​​group using the character size and character spacing. For example, the process may be an extraction process using a learning model in the second embodiment described later.

[0031] 2B is an explanatory diagram for explaining the process of identifying a ruby-bearing character string corresponding to a ruby ​​group. The control unit 11 of the computer 1 identifies a ruby-bearing character string corresponding to a ruby ​​group based on the writing direction of the text, the coordinate value of the first ruby ​​of the ruby ​​group, the coordinate value of the last ruby, and the coordinate values ​​in the main text corresponding to each coordinate value.

[0032] When the writing direction of the text is horizontal, the control unit 11 identifies a ruby-covered character string from a range set by a predetermined threshold below the ruby ​​group. First, the control unit 11 identifies a ruby-covered character corresponding to the first ruby ​​based on the coordinate value of the first ruby ​​of the ruby ​​group and a predetermined distance threshold (for example, 1pt) between the ruby ​​and the ruby-covered character. For example, when the extracted ruby ​​group is "bunkyouku", the control unit 11 calculates the difference (y3-y1') between the y coordinate value (y1') of the bottom left corner of the first ruby ​​"bu" and the y coordinate value (y3) of the top left corner of the character "bun" below the first ruby. The control unit 11 compares the calculated coordinate difference with a predetermined distance threshold between the ruby ​​and the ruby-covered character. When the calculated coordinate difference is equal to or smaller than the predetermined distance threshold, the control unit 11 identifies the character "bun" as a ruby-covered character corresponding to "bu".

[0033] Next, the control unit 11 identifies the ruby-bearing character corresponding to the end ruby ​​based on the coordinate value of the end ruby ​​of the ruby ​​group and a predetermined distance threshold between the ruby ​​and the ruby-bearing character. In the example where the above-mentioned ruby ​​group is "bunkyoku", the control unit 11 calculates the difference (y5-y4') between the y coordinate value (y4') of the bottom left corner of the end ruby ​​"ku" and the y coordinate value (y5) of the top left corner of the character "ku" below the end ruby. The control unit 11 compares the calculated coordinate difference with a predetermined distance threshold. If the calculated coordinate difference is equal to or less than the predetermined distance threshold, the control unit 11 identifies the character "ku" as the ruby-bearing character corresponding to "ku".

[0034] Then, the control unit 11 specifies a character string within the range between the first ruby ​​character corresponding to the specified ruby ​​group and the last ruby ​​character corresponding to the specified ruby ​​group as a ruby-based character string corresponding to the ruby ​​group. As shown in the figure, the ruby-based character string "Bunkyo-ku" corresponding to the ruby ​​group "Bunkyo-ku" is specified.

[0035] Furthermore, when the writing direction of the text is vertical, the ruby-bearing character string is identified from a range set by a predetermined threshold to the left of the ruby ​​group based on the coordinate values ​​of the first ruby ​​and the last ruby ​​of the ruby ​​group. Note that the identification process for vertical writing is the same as that for horizontal writing, and therefore a description thereof will be omitted.

[0036] 2C is an explanatory diagram for explaining the correction process for a ruby-received string. The control unit 11 of the computer 1 performs a correction process for the ruby-received string corresponding to a group of ruby ​​characters based on the character type of the identified ruby-received string. The character type is the notation form of characters used in the string, and includes, for example, numbers, uppercase alphabets, lowercase alphabets, hiragana, katakana, and kanji. When the control unit 11 determines that the identified ruby-received string contains characters whose character type is other than kanji, it performs a correction process for the ruby-received string.

[0037] Specifically, the control unit 11 removes characters whose character type is other than kanji from the ruby-receiving string. As shown in the figure, when the ruby ​​group is "nawa" (i.e., "meaning"), the control unit 11 identifies the ruby-receiving string that has become "ba-no-chi" in accordance with the ruby-receiving string identification process in FIG. 2B. The control unit 11 determines the character type of each character in the identified ruby-receiving string. The control unit 11 removes "ba" and "chi" (which are of the hiragana character type) from "ba-no-chi", and outputs "no-chi" with the hiragana removed as the ruby-receiving string.

[0038] FIG. 3 is an explanatory diagram for explaining the process of outputting structured data. The computer 1 acquires a sentence including ruby. As shown in the figure, the acquired sentence is "Bunkyo Ward is home to many educational institutions, large hospitals, publishers, printing companies, etc. There are also many residential areas." The control unit 11 of the computer 1 extracts each ruby ​​group from the acquired sentence and identifies the ruby-covered character string that corresponds to each extracted ruby ​​group. Note that the process of extracting the ruby ​​group and the process of identifying the ruby-covered character string are the same as the process in FIG. 2, so their explanation will be omitted.

[0039] As shown in the figure, the ruby ​​characters in the sentence "Bunkyo ward," "educational institution," "large hospital," "publisher," "printing company," and "residential area" correspond to the ruby ​​groups "bunkyo ward," "educational institution," "large hospital," "printing company," and "residential area," respectively.

[0040] The control unit 11 performs structuring processing by associating each of the identified ruby ​​groups with the ruby-covered character strings corresponding to each of the ruby ​​groups. Specifically, the control unit 11 assigns a first tag (for example, ) to each of the extracted ruby ​​groups, and assigns a second tag (for example, ) to the ruby-covered character strings corresponding to each of the ruby ​​groups. <rb>The control unit 11 assigns a third tag (for example, <ruby>) is added.

[0041] As shown in the figure, the control unit 11 writes the ruby ​​character string "Bunkyo-ku" as <rb> and< / rb> The ruby ​​is enclosed in tags and the ruby ​​group "bunkyoku" is <rt> and< / rt> The control unit 11 also encloses the <rb> and< / rb> The ruby ​​string "Bunkyo-ku" surrounded by tags, <rt> and< / rt> A group of ruby ​​characters surrounded by tags, <ruby> and< / ruby> In this way, the control unit 11 assigns tags to each ruby-receiving character string and the ruby ​​group corresponding to the ruby-receiving character string, and performs a structuring process for the sentence. Finally, the control unit 11 assigns <text> and< / text> Add tags.

[0042] The control unit 11 may store the structured data obtained by carrying out the structuring process in the storage unit 12 in association with the sentence.

[0043] 4 is a flowchart showing the processing procedure when structuring a text. The control unit 11 of the computer 1 acquires a PDF file of the text including ruby ​​characters from the storage unit 12 (step S101). The PDF file may be acquired from an external device by the communication unit 13. The control unit 11 recognizes the writing direction of the text and the characters in the text, for example, using OCR technology (step S102). The control unit 11 detects the coordinate values ​​of each recognized character (step S103).

[0044] The control unit 11 executes a subroutine for processing to extract a group of ruby ​​characters from the text (step S104). The control unit 11 executes a subroutine for processing to specify a ruby-covered character string corresponding to the extracted group of ruby ​​characters (step S105). The subroutine for processing to extract a group of ruby ​​characters and the subroutine for processing to specify a ruby-covered character string will be described later.

[0045] The control unit 11 associates the extracted ruby ​​groups with the specified ruby-bearing character strings and stores them in the storage unit 12 (step S106). The control unit 11 performs structuring processing by associating each of the extracted ruby ​​groups with the ruby-bearing character strings corresponding to each of the ruby ​​groups (step S107). The control unit 11 outputs structured data of the text in a format such as an XML file (step S108), and ends the processing.

[0046] 5 is a flowchart showing the processing procedure of a subroutine for extracting a group of ruby ​​characters. The control unit 11 of the computer 1 acquires one character from the multiple characters recognized in the processing of step S102 (step S01). The control unit 11 calculates the size of the acquired character based on the coordinate values ​​of the upper left and lower right of the character (step S02). The control unit 11 determines whether the calculated character size is within a predetermined range or less than the sizes of other characters (step S03).

[0047] If the control unit 11 determines that the size of the character is within a predetermined range compared to the sizes of other characters (YES in step S03), it determines (discriminates) that the character is ruby ​​(step S04). For example, if the predetermined range is half the size of the ruby ​​character and the control unit 11 determines that the character is ruby ​​when the calculated size of the character is half the size of the other characters. If the control unit 11 determines that the size of the character exceeds a predetermined range compared to the sizes of other characters (NO in step S03), it determines (discriminates) that the character is main text, and returns to the processing of step S01.

[0048] The control unit 11 calculates the distance between the ruby ​​and the next ruby ​​based on the coordinate value of the ruby ​​(step S05). The control unit 11 determines whether the calculated distance between the ruby ​​is equal to or smaller than a predetermined distance threshold (step S06).

[0049] If the calculated distance between rubies is equal to or less than a predetermined distance threshold (YES in step S06), the control unit 11 acquires the ruby ​​next to the ruby ​​(step S07). The control unit 11 transitions to the process of step S05. If the calculated distance between rubies exceeds a predetermined distance threshold (NO in step S06), the control unit 11 extracts multiple rubies whose distance between rubies is equal to or less than the predetermined distance threshold as a group of rubies (step S08).

[0050] The control unit 11 moves to the next character of the extracted ruby ​​group, and determines whether or not the next character exists (step S09). If the control unit 11 determines that the next character exists (YES in step S09), the process returns to step S01. If the control unit 11 determines that the next character does not exist (NO in step S09), the control unit 11 stores each extracted ruby ​​group in the storage unit 12 (step S10). For example, the control unit 11 assigns an ID to each extracted ruby ​​group, and stores the ID and coordinate values ​​of each ruby ​​group in the storage unit 12. The control unit 11 ends the subroutine of the ruby ​​group extraction process and returns.

[0051] 6 is a flow chart showing the processing procedure of a subroutine for processing to identify a ruby-bearing character string. The control unit 11 of the computer 1 judges whether the writing direction of the text is horizontal or not (step S11). If the control unit 11 judges that the writing direction of the text is horizontal (YES in step S11), it identifies a ruby-bearing character corresponding to the first ruby ​​below the first ruby ​​based on the coordinate value of the first ruby ​​of the ruby ​​group and a predetermined distance threshold (for example, 1 pt) between the ruby ​​and the ruby-bearing character (step S12).

[0052] The control unit 11 specifies a ruby-bearing character corresponding to the end ruby ​​below the end ruby ​​based on the coordinate value of the end ruby ​​of the ruby ​​group and a predetermined distance threshold between the ruby ​​and the ruby-bearing character (step S13).The control unit 11 specifies a character string within the range between the ruby-bearing character corresponding to the first ruby ​​of the specified ruby ​​group and the ruby-bearing character corresponding to the end ruby ​​as a ruby-bearing character string corresponding to the ruby ​​group (step S14).

[0053] The control unit 11 determines the character type of each character included in the specified ruby ​​character string (step S15). For example, the control unit 11 may determine the character type of each character by using a learning model that has been trained to identify the character type of a character when the character is input. Alternatively, the control unit 11 may determine the character type of each character by using a comparison table between characters and character types.

[0054] The control unit 11 judges whether or not the ruby ​​character string includes characters other than kanji (step S16). If the control unit 11 judges that the ruby ​​character string does not include characters other than kanji (NO in step S16), the control unit 11 ends the subroutine of the process of identifying the ruby ​​character string and returns.

[0055] When the control unit 11 determines that the ruby-receiving string contains characters other than kanji (YES in step S16), it performs a correction process on the ruby-receiving string by removing the characters other than kanji from the ruby-receiving string (step S17).The control unit 11 ends the subroutine for the process of identifying the ruby-receiving string and returns.

[0056] When the control unit 11 determines that the writing direction of the text is not horizontal (NO in step S11), it specifies a ruby-bearing character corresponding to the first ruby ​​to the left of the first ruby ​​based on the coordinate value of the first ruby ​​of the ruby ​​group and a predetermined distance threshold between the ruby ​​and the ruby-bearing character (step S18). It specifies a ruby-bearing character corresponding to the end ruby ​​to the left of the end ruby ​​based on the coordinate value of the last ruby ​​of the ruby ​​group and a predetermined distance threshold between the ruby ​​and the ruby-bearing character (step S19). The control unit 11 transitions to the processing of step S14.

[0057] According to this embodiment, it is possible to extract each group of ruby ​​characters contained in a sentence and specify the ruby-based character string corresponding to each extracted group of ruby ​​characters.

[0058] According to this embodiment, by converting unstructured data of a text including ruby ​​characters into structured data, it is possible to structure the ruby ​​information together with the text without losing it.

[0059] (Embodiment 2) The second embodiment relates to an embodiment in which a group of ruby ​​characters is extracted using artificial intelligence (AI). Note that a description of the contents that overlap with the first embodiment will be omitted.

[0060] FIG. 7 is a block diagram showing an example of the configuration of the computer 1 of the second embodiment. The same reference numerals are used for the same contents as those in FIG. 1, and the description thereof will be omitted. The computer 1 includes a large-capacity storage unit 17. The large-capacity storage unit 17 includes a recording medium such as a hard disk drive (HDD) or a solid state drive (SSD). In this embodiment, the storage unit 12 and the large-capacity storage unit 17 may be configured as an integrated storage device. The large-capacity storage unit 17 may be configured by a plurality of storage devices. Furthermore, the large-capacity storage unit 17 may be an external storage device connected to the computer 1.

[0061] The mass storage unit 17 stores a ruby ​​detector 171 and a ruby ​​dictionary 172. The ruby ​​detector 171 is an extractor that extracts ruby ​​groups for each word in the main text of a sentence, and is a trained model generated by machine learning. The ruby ​​dictionary 172 stores a dictionary that associates character strings with other character strings (ruby groups). As will be described later, when extracting ruby ​​groups for each word in the main text of a sentence, the computer 1 refers to the ruby ​​dictionary 172 to identify a ruby-based character string in the sentence that corresponds to the extracted ruby ​​group.

[0062] 8 is an explanatory diagram showing an example of a record layout of the ruby ​​dictionary 172. The ruby ​​dictionary 172 stores a ruby ​​group string and a ruby-inscribed character string string. The ruby ​​group string stores a ruby ​​group. The ruby-inscribed character string string stores a ruby-inscribed character string corresponding to the ruby ​​group.

[0063] 9 is an explanatory diagram of the ruby ​​detector 171. The ruby ​​detector 171 is used as a program module that is a part of artificial intelligence software. The ruby ​​detector 171 is a learning model that outputs information about a group of ruby ​​when an image of a sentence including ruby ​​is input. The information about the group of ruby ​​is, for example, information indicating an area (position information) where the group of ruby ​​is estimated to be included and the probability that the group of ruby ​​is included in that area.

[0064] The ruby ​​detector 171 of this embodiment performs estimation using RCNN (Regions with Convolutional Neural Network). The ruby ​​detector 171 includes a region candidate extraction unit 73a and a classification unit 73b. The classification unit 73b includes a neural network (not shown). The neural network includes a convolution layer, a pooling layer, and a fully connected layer.

[0065] An image of text is input to ruby ​​detector 171. Area candidate extraction unit 73a extracts area candidates of various sizes from the image. Classification unit 73b calculates feature amounts of the extracted area candidates, and classifies whether or not the subject shown in the area candidate is a group of ruby ​​characters based on the calculated feature amounts. Ruby detector 171 repeats the extraction and classification of area candidates.

[0066] Ruby detector 171 outputs the range of the area (e.g., coordinates) and the probability that a group of ruby ​​is included for the area candidate classified as having a probability higher than a predetermined threshold. In the example shown in Fig. 9, an area that has a group of ruby ​​included has been detected with a probability of 90%. For example, the range of the area is an X coordinate value of 100 to 110 and a Y coordinate value of 120 to 150.

[0067] Note that instead of RCNN, any object detection algorithm such as Fast RCNN, Faster RCNN, SSD (Single Shot Multibook Detector), YOLO (You Only Look Once), etc. may be used.

[0068] 10 is a flowchart showing the processing procedure when performing structuring processing of a sentence in embodiment 2. The control unit 11 of the computer 1 acquires an image of the sentence including ruby ​​characters from the storage unit 12 or the mass storage unit 17 (step S121). When text data of the sentence is acquired, image processing may be performed on the sentence.

[0069] When a sentence including ruby ​​characters is input, the control unit 11 inputs an image of the acquired sentence to the trained ruby ​​detector 171 that outputs information about the ruby ​​characters, and outputs information about each ruby ​​character group included in the sentence (step S122). The output information about the ruby ​​characters includes the range (position information) of the area where the ruby ​​characters are estimated to be included.

[0070] Based on the range of each ruby ​​group area output from the ruby ​​detector 171, the control unit 11 converts the image of the display area of ​​each ruby ​​group into a character code, for example using OCR technology, and extracts the ruby ​​group (step S123). The control unit 11 executes a subroutine for processing to identify the ruby-containing character string corresponding to the extracted ruby ​​group (step S124). The subroutine for processing to identify the ruby-containing character string will be described later.

[0071] The control unit 11 associates the extracted ruby ​​groups with the specified ruby-bearing character strings and stores them in the storage unit 12 (step S125). The control unit 11 performs structuring processing by associating each of the extracted ruby ​​groups with the ruby-bearing character strings corresponding to each of the ruby ​​groups (step S126). The control unit 11 outputs structured data of the text in a format such as an XML file (step S127), and ends the processing.

[0072] Fig. 11 is a flowchart showing the processing steps of a subroutine of processing to identify a ruby-bearing character string in the second embodiment. The control unit 11 of the computer 1 acquires the ruby ​​group extracted in the processing of step S123 (Fig. 10) (step S21). The control unit 11 checks the ruby ​​dictionary 172 in the mass storage unit 17 to acquire a character string corresponding to the acquired ruby ​​group (step S22). The control unit 11 identifies a ruby-bearing character string in a sentence including the ruby ​​group based on the character string acquired from the ruby ​​dictionary 172 (step S23). The control unit 11 ends the subroutine of processing to identify a ruby-bearing character string and returns.

[0073] Furthermore, the ruby-bearing character string can be specified by using a dictionary on the web server. For example, the computer 1 may use a group of ruby ​​characters as a search key (input) and search the dictionary on the web server for a ruby-bearing character string (output) corresponding to the group of ruby ​​characters through an API (Application Programming Interface) of the dictionary provided by the web server. Note that the process of specifying a ruby-bearing character string described above is not limited to this, and the process of specifying a ruby-bearing character string in the first embodiment may also be used.

[0074] In this embodiment, an example has been described in which a ruby ​​group is used as a search key to search for a ruby-covered string corresponding to the ruby ​​group from the ruby ​​dictionary 172, but the present invention is not limited to this. For example, a ruby-covered string may be used as a search key to search for a ruby ​​group corresponding to the ruby-covered string from the ruby ​​dictionary 172. In this case, the computer 1 performs a morphological analysis to first extract the ruby-covered string from the text. The computer 1 checks the ruby ​​dictionary 172 to obtain the ruby ​​group corresponding to the extracted ruby-covered string. The computer 1 identifies the ruby ​​group corresponding to the ruby-covered string from the text based on the ruby ​​group obtained from the ruby ​​dictionary 172.

[0075] According to this embodiment, the ruby ​​detector 171 can be used to extract ruby ​​groups for each word in the body of a sentence.

[0076] According to this embodiment, it is possible to use the ruby ​​dictionary 172 to specify a ruby-based character string that corresponds to a group of ruby ​​characters.

[0077] (Embodiment 3) 12 is a functional block diagram showing the operation of the computer 1 in the above-described embodiment. When the control unit 11 executes the control program 1P, the computer 1 operates as follows.

[0078] The extraction unit 10a extracts ruby ​​groups for each word in the main text of a document. The specification unit 10b specifies ruby-based character strings in the document that correspond to each ruby ​​group extracted by the extraction unit 10a.

[0079] The third embodiment is as described above, and other aspects are similar to those of the first and second embodiments, so the corresponding parts are given the same reference numerals and detailed description thereof will be omitted.

[0080] The embodiments disclosed herein are illustrative in all respects and should not be considered as limiting. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the scope and meaning equivalent to the claims. [Explanation of symbols]

[0081] 1. Information processing equipment (computer) 11 Control section 12 Storage section 13. Communications Department 14 Input section 15 Display 16 Reading unit 17 Mass storage 171 Ruby Detector 73a Region candidate extraction part 73b Classification section 172 Ruby Dictionary 1a Removable storage media 1b Semiconductor memory 1P control program 10a Extraction part 10b Specific Department< / ruby> < / rb>

Claims

1. an extraction unit that extracts ruby ​​groups for each word in the body of a document; a specification unit that specifies a ruby-based character string in the text corresponding to each ruby ​​group extracted by the extraction unit, The extraction unit inputs a sentence into a learning model that has learned ruby ​​groups for each word in the main text of the sentence, and extracts ruby ​​groups for each word in the main text of the sentence. Information processing device.

2. The extraction unit distinguishes between a main text and ruby ​​from within a sentence, Extracting the ruby ​​group based on the determined ruby 2. The information processing apparatus according to claim 1,

3. The identification unit identifies a ruby-based character string based on coordinate values ​​of a first ruby ​​of the ruby ​​group, coordinate values ​​of a last ruby, and coordinate values ​​or character types in the main text corresponding to each coordinate value.

3. The information processing apparatus according to claim 1, wherein the information processing apparatus is a computer.

4. The group of ruby ​​characters extracted by the extraction unit and the ruby ​​character string specified by the specification unit are stored in association with each other.

4. The information processing apparatus according to claim 1, wherein the information processing apparatus is a computer.

5. The extraction unit distinguishes between a main text and a ruby ​​based on a character size of the ruby, Extracting groups of ruby ​​characters based on the spacing between adjacent ruby ​​characters 5. The information processing apparatus according to claim 1,

6. The identifying unit refers to a dictionary in which character strings are associated with other character strings, and identifies a ruby-based character string in the text that corresponds to each ruby ​​group extracted by the extracting unit.

6. The information processing apparatus according to claim 1,

7. The identifying unit refers to a dictionary on a web server to identify a ruby-based character string in the text that corresponds to each ruby ​​group extracted by the extracting unit.

7. The information processing apparatus according to claim 1,

8. Extract ruby ​​groups for each word in the text, Identifying a ruby-based character string in the text corresponding to each of the extracted ruby ​​groups; A sentence is input to a learning model that has learned ruby ​​groups for each word in the main text of the sentence, and ruby ​​groups for each word in the main text of the sentence are extracted. A program that causes a computer to carry out processing.

Citation Information

Patent Citations

  • Dictation correction method and electronic equipment

    CN111091120A

  • Character recognizing device, its method, and recording medium

    JP2002056357A

  • Program for making electronic book

    JP2018142286A

  • Information processing apparatus, information processing method, and program

    JP2020166658A

  • Flow rendering of annotation characters

    US9460089B1