WO2024202018A1 - バリュー抽出システム、バリュー抽出方法、及びプログラム - Google Patents

バリュー抽出システム、バリュー抽出方法、及びプログラム Download PDF

Info

Publication number
WO2024202018A1
WO2024202018A1 PCT/JP2023/013598 JP2023013598W WO2024202018A1 WO 2024202018 A1 WO2024202018 A1 WO 2024202018A1 JP 2023013598 W JP2023013598 W JP 2023013598W WO 2024202018 A1 WO2024202018 A1 WO 2024202018A1
Authority
WO
WIPO (PCT)
Prior art keywords
estimated
training
value
key
value extraction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2023/013598
Other languages
English (en)
French (fr)
Inventor
永男 蔡
美廷 金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Group Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rakuten Group Inc filed Critical Rakuten Group Inc
Priority to PCT/JP2023/013598 priority Critical patent/WO2024202018A1/ja
Priority to JP2025509603A priority patent/JPWO2024202018A1/ja
Publication of WO2024202018A1 publication Critical patent/WO2024202018A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables

Definitions

  • This disclosure relates to a value extraction system, a value extraction method, and a program.
  • Non-Patent Documents 1 to 4 describe techniques for analyzing the layout of a document based on a learning model in which the layouts of various documents have been learned, and the coordinates of cells (bounding boxes) that contain the components of a document shown in an image.
  • the layout of a document is analyzed based on the coordinates of each cell in the entire image.
  • One of the objectives of this disclosure is to accurately extract the value corresponding to a key.
  • the value extraction system includes an estimated image acquisition unit that acquires an estimated image showing an estimated document including an estimated key and an estimated value, a designated key acquisition unit that acquires a designated key designated by a user, and an extraction unit that extracts the estimated value from the estimated image based on a value extraction model that has learned the relative positional relationship between the estimated image, the designated key, and the training key and training value included in the training document shown in the training image.
  • FIG. 1 is a diagram illustrating an example of an overall configuration of a value extraction system.
  • FIG. 13 is a diagram showing an example of a state in which a user photographs an inferred document.
  • FIG. 13 is a diagram showing an example of an estimated image obtained by executing character recognition.
  • FIG. 13 is a diagram illustrating an example of the relationship between input and output of a trained value extraction model.
  • FIG. 2 is a diagram illustrating an example of functions realized by the value extraction system.
  • FIG. 2 is a diagram illustrating an example of a training database.
  • FIG. 2 is a diagram illustrating an example of a process executed in the value extraction system.
  • FIG. 13 is a diagram illustrating an example of functions realized in a value extraction system according to a modified example.
  • FIG. 13 is a diagram showing an example of a training database according to the first modified example.
  • Fig. 1 is a diagram showing an example of the overall configuration of a value extraction system.
  • the value extraction system 1 includes a server 10 and a user terminal 20.
  • Each of the server 10 and the user terminal 20 can be connected to a network N such as the Internet or a LAN.
  • the server 10 is a server computer.
  • the control unit 11 includes at least one processor.
  • the storage unit 12 includes a volatile memory such as RAM and a non-volatile memory such as a flash memory.
  • the communication unit 13 includes at least one of a communication interface for wired communication and a communication interface for wireless communication.
  • the user terminal 20 is a user's computer.
  • the user terminal 20 is a personal computer, a tablet terminal, a smartphone, or a wearable terminal.
  • the physical configurations of the control unit 21, the memory unit 22, and the communication unit 23 are similar to those of the control unit 11, the memory unit 12, and the communication unit 13, respectively.
  • the operation unit 24 is an input device such as a touch panel or a mouse.
  • the display unit 25 is a liquid crystal display or an organic EL display.
  • the shooting unit 26 includes at least one camera.
  • the programs stored in the storage units 12, 22 may be supplied via the network N.
  • Each of the server 10 and the user terminal 20 may also include at least one of a reading unit (e.g., a memory card slot) that reads a computer-readable information storage medium, and an input/output unit (e.g., a USB port) for inputting and outputting data to and from an external device.
  • a reading unit e.g., a memory card slot
  • an input/output unit e.g., a USB port
  • a program stored in an information storage medium may be supplied via at least one of the reading unit and the input/output unit.
  • the value extraction system 1 is not limited to the example of FIG. 1 as long as it includes at least one computer.
  • the value extraction system 1 may include only the server 10 without including the user terminal 20.
  • the user terminal 20 exists outside the value extraction system 1.
  • the value extraction system 1 may include another computer other than the server 10, and the processing described in this embodiment may be executed by the other computer.
  • the other computer is a personal computer, a tablet terminal, or a smartphone.
  • the value extraction model is a model that extracts a value corresponding to a key from an image showing a document containing the key and the value.
  • the value extraction model is a model that utilizes a machine learning technique.
  • the value extraction model is a Vision Transformer-based model, but the machine learning technique itself can utilize various techniques used in the field of image processing.
  • the value extraction model may be a model that utilizes a neural network or a support vector machine.
  • a key is information that indicates the meaning of a value.
  • a key can also be called an attribute, explanation, or heading of a value.
  • a value is information that indicates a specific value of a key.
  • a value can also be called details or content of a key.
  • a key corresponds to an attribute value.
  • the key and the value are each a character string (text), but each of the key and the value may be in any format and is not limited to a character string.
  • at least one of the key and the value may be a symbol string that is not classified as a character string, a barcode, a two-dimensional code, or an icon.
  • the format of the key and the format of the value may be different, such as when the key is a character string and the value is a two-dimensional code.
  • a document is a document that contains information that a human can see and understand.
  • a document is a piece of paper or a card with characters written on it.
  • a receipt is used as an example of the document, but the document may be of any type and is not limited to a receipt.
  • the document may be an invoice, estimate, application form, official document, internal company document, flyer, paper, magazine, newspaper, reference book, or identity document.
  • the value extraction model is capable of extracting value from an image showing any document.
  • the value extraction model may be trained on multiple types of documents, not just one type of document.
  • a document includes at least one key and at least one value.
  • a document includes one key and one value, but a document may include one key and multiple values.
  • a document may include multiple keys and one value.
  • a document may include multiple keys and multiple values. That is, the relationship between keys and values may be one-to-one, one-to-many, many-to-one, or many-to-many.
  • a document may include information other than keys and values.
  • an image to be trained by the value extraction model is referred to as a training image.
  • a document shown in a training image is referred to as a training document.
  • a key and a value contained in a training document are referred to as a training key and a training value, respectively.
  • An image to be estimated by a trained value extraction model is referred to as an estimated image.
  • a document shown in an estimated image is referred to as an estimated document.
  • a key and a value contained in an estimated document are referred to as an estimated key and an estimated value, respectively.
  • a case where a user holds an estimated document is taken as an example. For example, a user photographs an estimated document with the photographing unit 26.
  • FIG. 2 is a diagram showing an example of a user photographing an estimated document.
  • the user terminal 20 when a user photographs the estimated document ED with the photographing unit 26, the user terminal 20 generates an estimated image EI showing the estimated document ED.
  • the x-axis and y-axis are set with the upper left corner of the estimated image EI as the origin O.
  • Positions within the estimated image EI are shown in two-dimensional coordinates including x-coordinates and y-coordinates.
  • Positions within the estimated image EI can be expressed in any coordinate system and are not limited to the example of FIG. 2.
  • positions within the estimated image EI may be expressed in a coordinate system with the center of the estimated image EI as the origin O, or in a polar coordinate system.
  • the character string "Payment” printed on the estimated document ED corresponds to the estimated key
  • the character string indicating the payment method printed on the estimated document ED (“EEE-pay” in the example of Figure 2) corresponds to the estimated value.
  • the estimated key and estimated value may be any information that pairs with each other, and are not limited to the example of this embodiment.
  • the character string "Total” printed on the estimated document ED may correspond to the estimated key
  • the total amount printed on the estimated document ED may correspond to the estimated value
  • the character string "Tel” printed on the estimated document ED may correspond to the estimated key
  • the telephone number printed on the estimated document ED may correspond to the estimated value.
  • the user specifies a key that is the same as the estimated key from the operation unit 24.
  • the key specified by the user is referred to as the designated key.
  • the user specifies the designated key by inputting an arbitrary character string, or by selecting the designated key from multiple candidates.
  • the user terminal 20 transmits the designated key and the estimated image EI to the server 10.
  • the server 10 receives the designated key and the estimated image EI from the user terminal 20, it performs character recognition on the estimated image EI.
  • FIG. 3 is a diagram showing an example of an estimated image EI on which character recognition has been performed.
  • the server 10 uses a known character recognition tool to detect estimated cells EC1 to EC15 from within the estimated image EI.
  • estimated cells EC may have any shape and are not limited to a rectangle as shown in FIG. 3.
  • the estimated cells EC may be a square, a rectangle with rounded corners, a polygon other than a rectangle, or an ellipse.
  • the estimated cell EC is an area that includes at least one character.
  • the estimated cell EC is sometimes called a bounding box.
  • the estimated cell EC is detected using a character recognition tool, and therefore includes at least one character.
  • the estimated cell EC may be detected for each character, but in this embodiment, multiple consecutive characters are detected as one estimated cell EC. For example, if the space between characters is small, one estimated cell EC that includes multiple words separated by spaces may be detected.
  • the server 10 identifies the position of the estimated cell EC by a matrix rather than by coordinates. For example, the server 10 classifies estimated cells EC whose coordinates are close to each other into the same row or column. This allows the server 10 to absorb slight differences in coordinates between estimated cells EC that are actually in the same row or column.
  • estimated cell EC1 is in the 0th row and 1st column.
  • Estimated cell EC2 is in the 1st row and 0th column.
  • Estimated cell EC3 is in the 2nd row and 0th column.
  • the positions of estimated cells EC4 to EC15 are identified by a matrix.
  • the server 10 acquires estimated cell information for each of the multiple estimated cells EC.
  • the estimated cell information may be any information related to the estimated cell EC.
  • the estimated cell information includes at least one of the matrix position of the estimated cell EC, the character string contained in the estimated cell EC, the coordinates of the estimated cell EC, the width of the estimated cell EC, and image data within the estimated cell EC.
  • the server 10 inputs the estimated cell information for each of the multiple estimated cells EC and the specified key to the trained value extraction model.
  • Figure 4 is a diagram showing an example of the input and output relationship of a trained value extraction model.
  • the value extraction model M identifies an estimated cell EC from the plurality of estimated cells EC whose estimated cell information includes an estimated key, which is a character string that matches a specified key.
  • the value extraction model M identifies that the estimated key is included in estimated cell EC14.
  • the value extraction model M estimates that the estimated value is included in estimated cell EC15, which is in a predetermined positional relationship with estimated cell EC14.
  • the value extraction model M For example, if the value extraction model M has learned that the training value is in the same row as the training key and to the right of the training key, the value extraction model M estimates that the estimated value is contained in estimated cell EC15, which is in the same row as estimated cell EC14 and to the right of estimated cell EC14. Therefore, the value extraction model M outputs the character string "EEE-Pay" contained in estimated cell EC15 as the estimated value.
  • the server 10 transmits the estimated value output from the value extraction model M to the user terminal 20.
  • the value extraction model M it is assumed that various training documents and the relative positional relationships between various training keys and training values have been learned by the value extraction model M.
  • the relative positional relationships between training keys and training values contained in various training documents such as not only receipts but also invoices and estimates have been learned by the value extraction model M. Since the relative positional relationships between various training keys and training values have been learned, when the user specifies a designated key, the value extraction model M can estimate the position of an estimated value that corresponds to the same estimated key as the specified key.
  • the value extraction model M has learned the relative positional relationship between the training key and the training value.
  • the value extraction system 1 can extract an estimated value corresponding to the estimated key with high accuracy by extracting an estimated value from the estimated image EI based on the estimated image EI, the specified key, and the learned value extraction model M. The details of this embodiment will be described below.
  • FIG. 5 is a diagram showing an example of functions realized by the value extraction system 1. As shown in FIG.
  • the server 10 includes a data storage unit 100, a training data generation unit 101, a learning unit 102, an estimated image acquisition unit 103, a designated key acquisition unit 104, and an extraction unit 105.
  • the data storage unit 100 is realized by the storage unit 12 shown in Fig. 1.
  • the training data generation unit 101, the learning unit 102, the estimated image acquisition unit 103, the designated key acquisition unit 104, and the extraction unit 105 are realized by the control unit 11 shown in Fig. 1.
  • the data storage unit 100 stores data necessary for at least one of learning the value extraction model M and estimation based on the learned value extraction model M.
  • the data storage unit 100 stores a training database DB in which training data to be learned by the value extraction model M is stored.
  • FIG. 6 is a diagram showing an example of a training database DB. "No.” is identification information of the training data.
  • the training data includes an input portion that is input to the value extraction model M during learning, and an output portion that should be output from the value extraction model M during learning.
  • the format of the input portion of the training data is the same as the format of the input data that is input to the value extraction model M during estimation.
  • the format of the output portion of the training data is the same as the format of the output data that is output from the value extraction model M during estimation.
  • the input portion of the training data includes information regarding the positions of the training keys.
  • the output portion of the training data includes information regarding the positions of the training values. Since the training data includes these input and output portions, the relative positional relationship between the training keys and the training values is indicated in the training data.
  • the position is represented by a matrix, but the position may be represented in other formats such as coordinates or a vector.
  • the input portion of the training data includes training cell information about training cells extracted from the training image.
  • Training cells differ from estimated cells in that they are extracted from the training image, but are similar to estimated cells in other respects. For this reason, the description of an estimated cell with the word "estimated” replaced with "training” corresponds to the description of the training cell.
  • the training cell information includes at least one of the matrix position of the training cell, the character string contained in the training cell, the coordinates of the training cell, the width of the training cell, and image data within the training cell.
  • a training cell that contains a training key is referred to as a training key cell. Since other training cells that contain character strings other than the training key are also extracted from the training image, when there is no need to distinguish between other training cells and training key cells, they are simply referred to as training cells.
  • the example in Figure 6 shows a case where the input portion of the training data contains only a training key cell, but the input portion of the training data may also contain training cell information of other training cells.
  • the output portion of the training data includes training cell information related to the training values extracted from the training images.
  • a training cell that includes a training value is referred to as a training value cell. Since other training cells that include character strings other than the training value are also extracted from the training images, when there is no need to distinguish between other training cells and training value cells, they are simply referred to as training cells.
  • the example in Figure 6 shows a case where the output portion of the training data includes only training value cells, but the output portion of the training data may also include other training cells.
  • the matrix indicating the position of the training value cell is based on the position of the training key cell.
  • the training value cell matrix when the matrix of the training key cell is (0,0) is shown in the output portion of the training data.
  • the input portion of the first training data contains a matrix (0,0) indicating the position of the training key "Payment”.
  • the training value of the first training data is in the same row as the training key "Payment” and is located one column away to the right, so the output portion of the first training data contains a matrix (0,1) indicating the position of this training value.
  • the training data may indicate the absolute position of a matrix in the training image, rather than a matrix based on the position of the training key cell.
  • the training data may indicate the relative positional relationship between the training key cell and the training value cell.
  • the training data may include coordinates indicating the position of the training key cell and coordinates indicating the position of the training value. If the training cell is not used, the training data may include coordinates or a matrix indicating the position of the training key and coordinates or a matrix indicating the position of the training value.
  • the data storage unit 100 stores a value extraction model M before learning.
  • the value extraction model M includes a program and parameters. The parameters are adjusted by learning.
  • the value extraction model M before learning is a value extraction model M with parameters at initial values.
  • the value extraction model M is a Vision Transformer-based model.
  • the Vision Transformer is a method that applies the Transformer, which is mainly used in natural language processing, to image processing.
  • Vision Transformer analyzes the connections between components of a document in input data arranged in chronological order. For example, Vision Transformer divides an input image input to it into multiple patches and obtains input data in which multiple patches are arranged. Vision Transformer is a method that applies the context analysis performed by Transformer to analyze the connections between patches. Vision Transformer converts each patch included in the input data into a vector and analyzes it. The value extraction model M of this embodiment applies the mechanism of this Vision Transformer.
  • the data stored in the data storage unit 100 is not limited to the above examples.
  • the data storage unit 100 only needs to store data necessary for at least one of the learning of the value extraction model M and the estimation based on the learned value extraction model M, and can store any data.
  • the data storage unit 100 may store a program for executing the learning of the value extraction model M, an estimated image database in which estimated images EI are stored, a training image database in which training images are stored, and a character recognition tool.
  • the training data generating unit 101 generates training data.
  • the training data generating unit 101 generates training data from a training image, but the creator who creates the value extraction model M may manually generate the training data. For example, the creator visually checks the training image and annotates the positions of the training keys and the positions of the training values.
  • the training data generating unit 101 may generate training data based on the annotation results by the creator.
  • the training data generation unit 101 generates training data including training key cell information regarding the position of a training key cell including a training key, and training value cell information regarding the position of a training value cell including a training value, based on character recognition of the training image.
  • the training data generation unit 101 performs character recognition on the training image similar to that of the estimated image EI described in FIG. 3.
  • the training data generation unit 101 identifies a training key cell and a training value cell from among multiple training cells extracted from the training image. It is assumed that the training key and training value are specified in advance by the creator.
  • the training data generation unit 101 identifies, from among multiple training cells, a training cell that contains a character string that matches the training key as a training key cell.
  • the training data generation unit 101 identifies, from among multiple training cells, a training cell that contains a character string that matches the training value as a training value cell.
  • the character string match may be a perfect match or a partial match.
  • the creator may visually check the training cell and annotate the training key cell and training value cell. In this case, the training data generation unit 101 identifies the training key cell and training value cell based on the creator's annotation results.
  • the training data generation unit 101 calculates the matrix position of the training value cell based on the matrix position of the training key cell.
  • the training data generation unit 101 generates a pair of (0,0) indicating the matrix position of the training key cell and a character string indicating the training key as the input part of the training data.
  • the training data generation unit 101 generates the matrix position of the training value cell based on the matrix position of the training key cell as the output part of the training data.
  • the training data generation unit 101 generates training data by combining the generated input part and output part.
  • the training data generation unit 101 performs similar processing on other training images to generate training data one after another.
  • the learning unit 102 executes learning of the value extraction model M based on the training data.
  • the learning itself can utilize various techniques used in machine learning techniques.
  • the learning unit 102 may execute learning of the value extraction model M based on the backpropagation method or the gradient descent method.
  • the learning unit 102 adjusts the parameters of the value extraction model M so that an output portion of the training data is output when an input portion of the training data is input.
  • the learning unit 102 executes learning of the value extraction model M until the loss calculated based on the loss function becomes sufficiently small.
  • the learning unit 102 records the learned value extraction model M in the data storage unit 100.
  • the estimated image acquisition unit 103 acquires an estimated image EI showing an estimated document ED including an estimated key and an estimated value.
  • the estimated image acquisition unit 103 acquires the estimated image EI from the user terminal 20.
  • the estimated image EI may be recorded in advance in the data storage unit 100 or an external storage medium. In this case, the estimated image acquisition unit 103 may acquire the estimated image EI from the data storage unit 100 or the external storage medium.
  • the designated key acquisition unit 104 acquires a designated key designated by a user.
  • the designated key acquisition unit 104 acquires the designated key from the user terminal 20.
  • the designated key may be recorded in advance in the data storage unit 100 or an external storage medium. In this case, the designated key acquisition unit 104 may acquire the designated key from the data storage unit 100 or the external storage medium.
  • the extraction unit 105 extracts an estimated value from the estimated image EI based on the estimated image EI, the designated key, and a value extraction model M that has learned the relative positional relationship between the training key and the training value contained in the training document shown in the training image.
  • the extraction unit 105 acquires input data to be input to the value extraction model M based on the estimated image EI and the designated key.
  • the extraction unit 105 inputs the input data to the value extraction model M.
  • the value extraction model M calculates the feature amount of the input data based on the parameters adjusted by learning.
  • the value extraction model M outputs an estimation result of the estimated value based on the feature amount of the input data.
  • the extraction unit 105 extracts an estimated value from the estimated image EI by acquiring the estimated value output from the value extraction model M.
  • the value extraction model M has learned the relative positional relationship between the rows and columns of the training keys in the training image and the rows and columns of the training values in the training image. For example, the row and column positions of the training values based on the row and column positions of the training keys have been learned by the value extraction model M.
  • the value extraction model M may have learned the relationship between the row and column positions of the training keys and the row and column positions of the training values based on the origin of the training image, rather than based on the row and column positions of the training keys.
  • the extraction unit 105 obtains the row and column of the specified key based on the results of performing character recognition on the estimated image EI.
  • the extraction unit 105 may perform character recognition on the estimated image EI based on a method other than optical character recognition.
  • the extraction unit 105 may perform character recognition based on template matching that compares with a template image, a method that analyzes the distribution of pixel values as a histogram, a machine learning method such as a neural network, or other methods.
  • the character recognition by the training data generation unit 101 may be various methods including optical character recognition.
  • the extraction unit 105 extracts estimated cells, which are cells that contain at least one character, from the estimated image EI. Based on the coordinates of each of the multiple estimated cells, the extraction unit 105 acquires the rows and columns of each of the multiple estimated cells such that estimated cells with close x coordinates belong to the same column and estimated cells with close y coordinates belong to the same row. Acquiring rows and columns means identifying the positions of each of the rows and columns. For example, when row numbers and column numbers are assigned in order from the top left of the estimated image EI, the extraction unit 105 acquires the row numbers and column numbers of each of the multiple estimated cells.
  • the extraction unit 105 extracts an estimated value based on the row and column of the specified key and the value extraction model M.
  • an example is given of a case where the process of identifying the row and column of the specified key is executed inside the value extraction model M, but the process of identifying the row and column of the specified key may be executed outside the value extraction model M.
  • the extraction unit 105 may identify the row and column of the specified key and then input the identified row and column of the specified key to the value extraction model M. That is, the extraction unit 105 may identify the row and column of the specified key as a preprocessing of estimation by the value extraction model M.
  • the extraction unit 105 inputs each of the multiple pieces of estimated cell information extracted from the estimated image EI and the designated key to the value extraction model M.
  • the value extraction model M identifies, from the multiple pieces of estimated cell information, estimated cell information that includes a character string that is the same as or similar to the designated key.
  • the value extraction model M identifies the row and column indicated by the identified estimated cell information as the row and column of the designated key.
  • the value extraction model M estimates and outputs the row and column of the estimated key based on the row and column of the identified designated key.
  • the extraction unit 105 extracts an estimated value from the estimated image EI by obtaining the row and column of the estimated key output from the value extraction model M.
  • the value extraction model M has learned the relative positional relationship between training key cell information relating to the position of a training key cell that includes a training key, and training value cell information relating to the position of a training value cell that includes a training value.
  • the extraction unit 105 acquires estimated key cell information relating to the position of an estimated key cell that includes an estimated key, based on character recognition of the estimated image EI.
  • the extraction unit 105 extracts an estimated value based on the estimated key cell information and the value extraction model M.
  • the extraction unit 105 extracts an estimated value based on the value extraction model M learned by the learning unit 102.
  • the learning of the value extraction model M may be performed by a computer other than the server 10.
  • the data storage unit 100 stores the value extraction model M learned by the other computer.
  • the extraction unit 105 may extract an estimated value based on the value extraction model M learned by the other computer.
  • the value extraction model M learns the relative positional relationship between one training key and one training value corresponding to that one training key. That is, the training key and the training value have a one-to-one correspondence.
  • the estimated key and the estimated value also have a one-to-one correspondence.
  • the extraction unit 105 extracts one estimated value corresponding to one specified key from the estimated image EI.
  • the process executed by the extraction unit 105 is not limited to the above example.
  • the format of the input data input to the value extraction model M and the output data output from the value extraction model M may be any predetermined format and is not limited to the example of this embodiment.
  • the extraction unit 105 may input a pair of the estimated image EI and the designated key directly to the value extraction model M as input data.
  • the value extraction model M performs convolution of the estimated image EI or the like to calculate the feature amount of the estimated image EI and executes an estimation according to the feature amount and the designated key.
  • the value extraction model M may output a character string of the estimated value instead of outputting estimated cell information related to the position of the estimated value cell.
  • the data storage unit 200 is realized mainly by the storage unit 22.
  • the transmission unit 201 and the reception unit 202 are realized mainly by the control unit 21.
  • the data storage unit 200 stores data necessary for acquiring the estimated image EI.
  • the data storage unit 200 stores the estimated image EI generated by the imaging unit 26.
  • the transmission unit 201 transmits various data to the server 10. For example, the transmission unit 201 transmits an estimated image EI to the server 10.
  • the receiving unit 202 receives various data from the server 10. For example, the receiving unit 202 receives from the server 10 an estimated value estimated by the value extraction model M. The user terminal 20 causes the display unit 25 to display the estimated value.
  • Fig. 7 is a diagram showing an example of a process executed by the value extraction system 1.
  • the control units 11 and 21 execute programs stored in the storage units 12 and 22, respectively, to execute the process of Fig. 7.
  • the server 10 executes character recognition on a training image to extract a training key cell and a training value cell, and generates training data including training key cell information and training value cell information (S1).
  • the server 10 executes learning of the value extraction model M based on the training data stored in the training database DB (S2).
  • the user terminal 20 When the user photographs the estimated document ED with the photographing unit 26, the user terminal 20 generates an estimated image EI and transmits it to the server 10 (S3).
  • the server 10 receives the estimated image EI from the user terminal 20 (S4).
  • the user terminal 20 accepts the user's designation of a designated key and transmits it to the server 10 (S5).
  • the user terminal 20 receives the designated key from the user terminal 20 (S6).
  • the user terminal 20 may transmit the estimated document ED and the designated key to the server 10 all at once.
  • the server 10 performs character recognition on the estimated image EI to extract the estimated cells EC (S7).
  • the server 10 acquires the cell information of the estimated cells EC other than the row number and column number.
  • the server 10 acquires the cell information of each of the multiple estimated cells EC by assigning the same row number to the estimated cells EC that belong to the same row based on the y coordinate of each of the multiple estimated cells EC, and assigning the same column number to the estimated cells EC that belong to the same column based on the x coordinate of each of the multiple estimated cells EC.
  • the server 10 inputs the estimated cell information of each of the multiple estimated cells EC and the designation key to the value extraction model M (S8).
  • the value extraction model M calculates the features of the input data input to itself and outputs an estimation result according to the features.
  • the server 10 extracts an estimated value from the estimated image EI based on the output from the value extraction model M (S9).
  • the server 10 transmits the estimated value to the user terminal 20 (S10).
  • the user terminal 20 receives the estimated value from the server 10 (S11), and this process ends.
  • the value extraction system 1 of this embodiment extracts an estimated value from the estimated image EI based on the estimated image EI, the designated key, and the learned value extraction model M. This allows the estimated value corresponding to the estimated key to be extracted with high accuracy. For example, as in Non-Patent Documents 1 to 4, when the model is made to learn the position of the estimated value in the entire image, it can only handle documents with a certain specific layout, but if the relative positional relationship between the estimated key and the estimated value is similar to the relative positional relationship between the training key and the training value, the value extraction system 1 can extract the estimated value even if the estimated document ED is unknown. Therefore, the value extraction system 1 can handle various estimated values of various estimated documents ED, thereby improving the versatility of the value extraction model M.
  • the value extraction system 1 also obtains the row and column of the specified key based on the results of executing character recognition on the estimated image EI, and extracts an estimated value based on the row and column of the specified key and the value extraction model M. This allows the value extraction system 1 to extract an estimated value after absorbing slight deviations in the coordinates indicating the position of the estimated cell EC, thereby further improving the accuracy of extracting the estimated value.
  • the value extraction system 1 also acquires estimated key cell information relating to the position of an estimated key cell including an estimated key based on character recognition of the estimated image EI.
  • the value extraction system 1 extracts an estimated value based on the estimated key cell information and the value extraction model M. This allows the value extraction system 1 to use character recognition to create a state in which the value extraction model M can easily identify the tendency of the estimated image EI, thereby further improving the accuracy of extraction of the estimated value.
  • the value extraction system 1 also generates training data including training key cell information and training value cell information based on character recognition of the training image.
  • the value extraction system 1 executes learning of the value extraction model M based on the training data.
  • the value extraction system 1 extracts estimated values based on the learned value extraction model M. This allows the value extraction system 1 to automate the process of generating training data, thereby reducing the effort required for the creator of the value extraction model M to prepare training data.
  • the value extraction model M also learns the relative positional relationship between one training key and one training value corresponding to that one training key.
  • the value extraction system 1 extracts one estimated value corresponding to one specified key from the estimated image EI. This allows the value extraction system 1 to extract an estimated value from the estimated document ED in which the estimated key and the estimated value correspond one-to-one.
  • FIG. 8 is a diagram showing an example of functions realized by the modified value extraction system 1.
  • the modified server 10 includes an additional generation unit 106, an additional learning unit 107, a language identification unit 108, and a feature identification unit 109.
  • the additional generation unit 106, the additional learning unit 107, the language identification unit 108, and the feature identification unit 109 are realized by the control unit 11.
  • the position of the training value relative to the training key is learned by the value extraction model M.
  • the training value is not necessarily located in one direction relative to the training key.
  • the value extraction model M may learn whether or not a training value exists in each of a plurality of directions, relative to the position of the training key in the training image.
  • FIG. 9 is a diagram showing an example of a training database DB of variant example 1.
  • the training data indicates values indicating whether or not a training value exists in each of eight directions based on the training key: top left, top, top right, left, right, bottom left, bottom, and bottom right.
  • the output portion of the training data includes eight values.
  • a value of "0" means that a training value does not exist.
  • a value of "1" means that a training value exists.
  • the value corresponding to the right of the training key is “1", indicating that a training value exists to the right of the training key.
  • the value corresponding to the top left of the training key is "1”
  • the value corresponding to the top right of the training key is "1”
  • the values for each of the multiple directions may be "1".
  • the learning unit 102 of the first modified example executes learning of the value extraction model M so that when the input portion of the training data in FIG. 9 is input to the value extraction model M, the value extraction model M outputs the output portion of the training data in FIG. 9.
  • the value extraction model M of the first modified example outputs a value indicating whether or not a training value exists in each of a plurality of directions.
  • the value extraction model M outputs eight values.
  • the value extraction model M outputs eight values in a vector format, an array format, or another format.
  • the extraction unit 105 of the first modified example extracts an estimated value by having the value extraction model M determine whether or not an estimated value exists in each of a plurality of directions based on the position of the designated key in the estimated image EI. For example, the extraction unit 105 inputs the same estimated cell information and designated key as in the embodiment to the value extraction model M.
  • the value extraction model M of the first modified example has learned whether or not a training value exists in each of a plurality of directions for the training key, and therefore estimates whether or not an estimated value exists in each of a plurality of directions based on the features of the estimated cell information.
  • the value extraction model M outputs a value indicating whether or not an estimated value exists in each of multiple directions.
  • the value extraction model M outputs a value indicating whether or not an estimated value exists in each of eight directions based on the estimated key.
  • the extraction unit 105 obtains the eight values output from the value extraction model M. Of the eight values, the extraction unit 105 obtains, as the estimated key, a character string included in the estimated cell of the direction indicating that an estimated value exists.
  • the value extraction system 1 of the first modified example extracts an estimated value by having the value extraction model M determine whether or not an estimated value exists in each of a plurality of directions based on the position of the specified key in the estimated image EI. This allows the value extraction system 1 to extract an estimated value even if there are a plurality of directions in which an estimated value exists for the estimated key.
  • the value extraction model M may estimate that an estimated value exists in each of a plurality of directions with respect to an estimated key. In this case, if only one estimated value exists for one estimated key, only the estimation result in one direction is correct, and the estimation results in the remaining directions are incorrect. If the direction in which an estimated value is likely to exist for the estimated key is specified in advance, a priority order may be set for each of the plurality of directions.
  • the data storage unit 100 of variant 2 stores data indicating the relationship between each of the multiple directions and the priority order.
  • a priority order is set for each of the eight directions.
  • the right has the highest priority order
  • the top right and bottom right have the same priority order and are the second highest.
  • the other directions have the lowest priority order.
  • the extraction unit 105 extracts an estimated value based on the priority order of each of the multiple directions.
  • the extraction unit 105 extracts, as the estimated value, a character string in the direction with the highest priority among the multiple directions in which it has been determined that an estimated value exists.
  • the extraction unit 105 may select a predetermined number of directions in descending order of priority among the multiple directions in which it has been determined that an estimated value exists, and extract a character string in the selected directions as the estimated value.
  • the extraction unit 105 may select all directions with a priority equal to or higher than a threshold among the multiple directions in which it has been determined that an estimated value exists, and extract a character string in the selected directions as the estimated value.
  • the value extraction system 1 of the second modified example extracts the estimated value based on the priority order of each of the multiple directions. This allows the value extraction system 1 to improve the accuracy of extracting the estimated value.
  • the estimated document ED and the training document are both receipts and are the same type.
  • the estimated document ED and the training document may be different types.
  • the estimated document ED may be a receipt and the training document may be an estimate.
  • the type of the estimated document ED and the type of the training document may be different.
  • the value extraction model M of variant 3 has learned the relative positional relationship between the training key and training value contained in the first type of training document.
  • the first type of training document is assumed to be an estimate.
  • the training data shows the relative positional relationship between the training key and training value contained in a training image showing an estimate, which is a training document.
  • the extraction unit 105 extracts the estimated value from an estimated image EI showing a second type of estimated document ED that is different from the first type.
  • the second type of estimated document ED is assumed to be a receipt. This variant differs from the embodiment in that the types of the estimated document ED and the training document are different from each other, but is similar to the embodiment in other respects.
  • the value extraction system 1 of the third modified example extracts an estimated value from an estimated image EI in which a second type of estimated document ED, which is different from the first type, which is the type of training document learned by the value extraction model M, is shown. This allows the value extraction system 1 to extract an estimated value from the estimated image EI even if the types of the estimated document ED and the training document are different from each other, thereby improving the versatility of the value extraction model M.
  • the value extraction model M of variant 4 has learned the relative positional relationship between each of the multiple training keys and the training value corresponding to the training key.
  • the estimated document ED includes each of the multiple estimated keys and the estimated value corresponding to the estimated key. These points are as described in the embodiment.
  • the designated key acquisition unit 104 of variant 4 acquires multiple designated keys. For example, the user designates multiple designated keys.
  • the designated key acquisition unit 104 acquires multiple designated keys from the user terminal 20.
  • the multiple designated keys may be predetermined rather than designated by the user.
  • the extraction unit 105 of the fourth modified example extracts, from the estimated image EI, an estimated value corresponding to each of the multiple estimated keys, based on each of the multiple designated keys. For example, the extraction unit 105 executes the extraction of the estimated value described in the embodiment for each designated key. The extraction unit 105 inputs each of the multiple designated keys into the trained value extraction model M in succession. The extraction unit 105 obtains the estimated values output in succession from the value extraction model M.
  • the extraction unit 105 may input the multiple designated keys to the value extraction model M all at once, rather than inputting each of the multiple designated keys separately to the value extraction model M.
  • the value extraction model M learns the relative positional relationship between the multiple training keys and the training values corresponding to each of the multiple training keys.
  • the value extraction model M converts the multiple designated keys into features together, and outputs an estimation result according to the features.
  • the value extraction system 1 of variant example 4 extracts an estimated value corresponding to each of a plurality of estimated keys from the estimated image EI based on each of the plurality of designated keys. This makes it possible to extract an estimated value corresponding to each of a plurality of designated keys from one estimated image EI, eliminating the need to prepare a separate value extraction model M for each designated key. Even if one estimated image EI contains estimated values corresponding to each of a plurality of designated keys, one value extraction model M can be used.
  • the value extraction system 1 of the fifth modified example includes an additional generation unit 106 and an additional learning unit 107.
  • the additional generation unit 106 generates additional training data for the value extraction model M to learn based on the estimated image EI, the specified key, and the estimated value. For example, the additional generation unit 106 generates an input portion of the additional training data based on estimated key cell information of an estimated key cell extracted from the estimated image EI. The additional generation unit 106 generates an output portion of the additional training data based on estimated value cell information of an estimated value cell including an estimated value. The additional generation unit 106 generates additional training data including the generated input portion and output portion.
  • the additional learning unit 107 performs additional learning of the value extraction model M based on the additional training data.
  • the additional learning is learning based on the additional training data.
  • the additional learning itself may be similar to normal learning.
  • the additional learning unit 107 performs additional learning of the value extraction model M such that when an input portion of the additional training data is input to the value extraction model M, an output portion of the additional training data is output.
  • the value extraction system 1 of variant example 5 generates additional training data for learning the value extraction model M based on the estimated image EI, the specified key, and the estimated value.
  • the value extraction system 1 performs additional learning of the value extraction model M based on the additional training data. This enables the value extraction system 1 to improve the accuracy of the value extraction model M.
  • the relative positional relationship between the estimated key and the estimated value may differ depending on the language of the estimated document ED. For example, if the estimated document ED is in Arabic, the estimated value may be located to the left of the estimated key. For this reason, the value extraction model M may learn the relative positional relationship between the training key and the training value contained in each training document of multiple languages.
  • the input portion of the training data of variant example 6 includes training language information related to the language of the training document. Other portions of the training data may be similar to those of the embodiment.
  • the training language information is an ID indicating a language such as English, Japanese, Korean, Chinese, or Arabic.
  • the training data generation unit 101 automatically identifies the language of the training document based on character recognition of the training document.
  • the training data generation unit 101 may identify the language of the training document based on a method other than character recognition (for example, a method using N-grams or a machine learning method).
  • the creator of the value extraction model M may specify the language of the training document.
  • the training data generation unit 101 generates training language information based on the result of identifying the language of the training document, and includes it in the input portion of the training data.
  • the method of generating the other portions of the training data may be the same as in the embodiment.
  • the learning performed by the learning unit 102 may also be the same as in the embodiment. Since the input portion of the training data includes language identification information, the value extraction model M learns the tendency of the relative positional relationship between the training key and the training value for each language.
  • the value extraction system 1 of the sixth modified example includes a language identification unit 108.
  • the language identification unit 108 identifies the language of the estimated document ED. For example, the language identification unit 108 identifies the language of the estimated document ED based on character recognition or other techniques, similar to the training data generation unit 101.
  • the user may specify the language of the estimated document ED.
  • the language identification unit 108 may identify the language of the estimated document ED by acquiring estimated language information related to the language specified by the user from the user terminal 20.
  • the extraction unit 105 of variant example 6 extracts an estimated value further based on the language of the estimated document ED.
  • the extraction unit 105 inputs the estimated language information, estimated cell information, and designated key to the value extraction model M.
  • the value extraction model M calculates the features of the estimated language information, estimated cell information, and designated key, and outputs an estimation result according to the features.
  • the extraction unit 105 extracts an estimated value from the estimated image EI based on the estimation result output from the value extraction model M.
  • the value extraction system 1 of the sixth modified example extracts an estimated value further based on the language of the estimated document ED. This enables estimation according to the language of the estimated document ED, thereby improving the accuracy of extraction of the estimated value.
  • the relative positional relationship between the estimated key and the estimated value may differ depending on the characteristics of the overall layout of the estimated document ED. Taking the estimated document ED in Japanese as an example, there are estimated document EDs written vertically and estimated document EDs written horizontally. In addition, there are estimated document EDs printed vertically and estimated document EDs printed horizontally. The same is true for other layouts, and the relative positional relationship between the estimated key and the estimated value may differ depending on the overall layout of the estimated document ED.
  • the value extraction model M may have learned features related to the overall layout of the training document.
  • the input portion of the training data in variant example 7 includes training feature information related to the overall layout features of the training document.
  • Other parts of the training data may be similar to those in the embodiment.
  • the training feature information is the orientation of the character string, such as vertical or horizontal writing, the printing orientation, such as vertical or horizontal, the font size, the margin size, the line spacing size, the number of characters per line, or the number of lines per page.
  • the training data generation unit 101 automatically identifies the overall layout characteristics of the training document based on character recognition of the training document.
  • the training data generation unit 101 may also identify the overall layout characteristics of the training document based on a method other than character recognition (for example, a region extraction method, a line segment detection method, a template matching method, or a machine learning method).
  • the creator of the value extraction model M may specify the overall layout characteristics of the training document.
  • the training data generation unit 101 generates training feature information based on the results of identifying the overall layout features of the training document, and includes it in the input portion of the training data.
  • the method of generating other parts of the training data may be similar to that of the embodiment.
  • the learning performed by the learning unit 102 may also be similar to that of the embodiment. Since the input portion of the training data includes feature identification information, the value extraction model M learns the tendency of the relative positional relationship between the training key and the training value for each overall layout feature.
  • the value extraction system includes a feature identification unit 109.
  • the feature identification unit 109 identifies features related to the overall layout of the estimated image EI. For example, similar to the training data generation unit 101, the feature identification unit 109 identifies the overall layout features of the estimated document ED based on character recognition or other techniques. The user may specify the language of the estimated document ED. The feature identification unit 109 may identify the overall layout features of the estimated document ED by acquiring estimated feature information related to the overall layout features specified by the user from the user terminal 20.
  • the extraction unit 105 of variant 7 extracts an estimated value further based on features related to the overall layout of the estimated image EI. For example, the extraction unit 105 inputs the estimated feature information, estimated cell information, and designated key to the value extraction model M.
  • the value extraction model M calculates the feature quantities of the estimated feature information, estimated cell information, and designated key, and outputs an estimation result according to the feature quantities.
  • the extraction unit 105 extracts an estimated value from the estimated image EI based on the estimation result output from the value extraction model M.
  • the value extraction system 1 of variant example 7 extracts estimated values based on characteristics related to the overall layout of the estimated image EI. This enables estimation according to the overall layout of the estimated document ED, improving the accuracy of extracting estimated values.
  • the training key and the training value have a one-to-one relationship, but the training key and the training value may also have a one-to-many relationship.
  • the value extraction model M of variant 8 learns the relative positional relationship between one training key and each of the multiple training values corresponding to that one training key.
  • the output portion of the training data of variant 8 includes training value cell information for each of the multiple training values. This differs from the embodiment in that there is training value cell information for each of the multiple training values for one training key, but is similar to the embodiment in other respects.
  • the extraction unit 105 of variant 8 extracts multiple estimated values corresponding to one specified key from the estimated image EI.
  • the input data that the extraction unit 105 inputs to the trained value extraction model M is the same as in the embodiment.
  • the value extraction model M calculates the feature amount of the input data and outputs an estimation result according to the feature amount.
  • the value extraction model M may output only one estimated key as the estimation result, or may output multiple estimated keys.
  • the extraction unit 105 extracts multiple estimated keys from the estimated image EI.
  • the value extraction system 1 of variant example 8 extracts multiple estimated values corresponding to one specified key from the estimated image EI. This allows the value extraction system 1 to extract multiple estimated values from the estimated document ED in which the estimated keys and estimated values correspond one-to-many.
  • the value extraction model M may learn the relative positional relationship between one training key and each of multiple training values arranged in a predetermined direction.
  • the predetermined direction is either up, down, left, or right.
  • each of the multiple training values is arranged below the training key.
  • the learning method of the value extraction model M when multiple training values exist for one training key may be the same as variant 8.
  • the extraction unit 105 of variant 9 extracts from the estimated image EI each of the multiple estimated values that correspond to one specified key and are aligned in a direction relative to each other.
  • the processing by the extraction unit 105 may be similar to that of variant 8. Since the relative positional relationship between the training key and the multiple training values aligned in a predetermined direction is learned by the value extraction model M, the value extraction model M outputs each of the multiple estimated values aligned in the predetermined direction as an estimation result.
  • the extraction unit 105 extracts each of the multiple estimated values aligned in the predetermined direction output from the value extraction model M from the estimated image EI.
  • the value extraction system 1 of the ninth modified example extracts from the estimated image EI each of a plurality of estimated values that correspond to one specified key and are aligned in a direction relative to one another. This allows the value extraction system 1 to extract a plurality of estimated values from the estimated document ED in which the estimated keys and estimated values correspond one-to-many and in which a plurality of estimated values are aligned in a specified direction.
  • the extraction unit 105 may determine a search range in a predetermined direction for the value extraction model M to search based on the estimated image EI, and extract each of the multiple estimated values based on the search range.
  • the search range is a range in the estimated image EI from which the estimated values are extracted.
  • the extraction unit 105 extracts the estimated values from the search range of the estimated image EI.
  • the extraction unit 105 inputs estimated cell information of estimated cells within the search range to the value extraction model M.
  • the extraction unit 105 does not input estimated cell information of estimated cells outside the search range to the value extraction model M.
  • the extraction unit 105 may determine the search range based on a predetermined determination method. For example, the extraction unit 105 may determine the search range based on the size of the estimated document ED shown in the estimated image EI. In this case, the extraction unit 105 determines the search range such that the larger the size of the estimated document ED, the wider the search range. The extraction unit 105 determines the search range based on a specified key. In this case, it is assumed that the relationship between the specified key and the search range is stored in advance in the data storage unit 100. The extraction unit 105 determines the search range by acquiring the search range associated with the specified key.
  • the extraction unit 105 may determine the search range based on that image.
  • the extraction unit 105 may identify that image from the estimated image EI based on a technique such as pattern matching, and determine the position to that image as the search range.
  • the extraction unit 105 may determine, as the search range, an area within a specific distance from a position in the estimated image EI where the same character string as the designated key is placed. This differs from the embodiment in that the value extraction model M targets the search range for estimation, but the estimation by the value extraction model M itself is as described in the embodiment.
  • the value extraction system 1 of the modified example 10 determines a search range in a predetermined direction for the value extraction model M to search based on the estimated image EI, and extracts each of the multiple estimated values based on the search range. This improves the accuracy of extracting the estimated values when multiple estimated values are lined up in a predetermined direction.
  • the value extraction system 1 may learn to extract an estimated value based on not only the positional relationship but also the character type (e.g., letters, numbers, mixed letters and numbers, etc.).
  • the character type of the training value may be included in the output portion of the training data.
  • the training data generation unit 101 automatically identifies the character type of the training value based on character recognition of the training document.
  • the training data generation unit 101 may also identify the character type of the training value based on a method other than character recognition (for example, a method using N-gram or a machine learning method).
  • the creator of the value extraction model M may specify the character type of the training value.
  • the training data generation unit 101 generates training language information based on the result of identifying the character type of the training value, and includes it in the output portion of the training data.
  • the method of generating other parts of the training data may be the same as in the embodiment.
  • the learning performed by the learning unit 102 may also be the same as in the embodiment. Since the output portion of the training data includes information on the character type of the training value, the value extraction model M also learns the tendency of the character type of the training value corresponding to the training key.
  • the relative positional relationship between the matrix of the training key and the matrix of the training value is learned by the value extraction model M, but the relative positional relationship between the coordinates indicating the position of the training key and the coordinates indicating the position of the training value may also be learned by the value extraction model M.
  • the estimated cell information includes the coordinates of the estimated cell EC.
  • the value extraction model M converts the coordinates of the estimated cell EC and the designated key into feature quantities, and outputs an estimated value according to the feature quantities.
  • the position of the character string may be learned in the value extraction model M without the estimated cell EC being particularly extracted.
  • the main processing is performed by the server 10, but the processing described as being performed by the server 10 may be performed by the user terminal 20 or another computer, or may be shared among multiple computers.
  • the value extraction system can be configured as follows. (1) an estimated image acquisition unit that acquires an estimated image showing an estimated document including an estimated key and an estimated value; a designated key acquisition unit for acquiring a designated key designated by a user; an extracting unit that extracts the estimated value from the estimated image based on the estimated image, the designated key, and a value extraction model in which a relative positional relationship between a training key and a training value included in a training document shown in the training image is learned; A value extraction system including: (2) the value extraction model learns a relative positional relationship between rows and columns of the training keys in the training image and rows and columns of the training values in the training image; The extraction unit is obtaining a row and a column of the specified key based on a result of performing character recognition on the estimated image; extracting the estimated value based on the rows and columns of the specified key and the value extraction model; A value extraction system as described in (1).
  • the value extraction model learns a relative positional relationship between training key cell information regarding a position of a training key cell including the training key and training value cell information regarding a position of a training value cell including the training value,
  • the extraction unit is obtaining estimated key cell information relating to a position of an estimated key cell including the estimated key based on character recognition of the estimated image; extracting the estimated value based on the estimated key cell information and the value extraction model;
  • the value extraction model learns whether the training value exists in each of a plurality of directions based on the position of the training key in the training image; the extraction unit extracts the estimated value by causing the value extraction model to determine whether or not the estimated value exists in each of the plurality of directions based on a position of the designated key in the estimated image.
  • a value extraction system according to any one of (1) to (3).
  • a priority order is set for each of the plurality of directions, When there are a plurality of directions in which it is determined that the estimated value exists, the extraction unit extracts the estimated value based on the priority order of each of the plurality of directions.
  • a value extraction system as described in (4).
  • the value extraction model has learned a relative positional relationship between the training keys and the training values included in the first type of training document;
  • the extraction unit extracts the estimated value from the estimated image in which the estimated document of a second type different from the first type is shown.
  • a value extraction system according to any one of (1) to (5).
  • the value extraction model learns a relative positional relationship between each of the plurality of training keys and the training value corresponding to the training key;
  • the estimated document includes each of a plurality of estimated keys and the estimated value corresponding to the estimated key,
  • the designated key acquisition unit acquires a plurality of the designated keys, the extraction unit extracts, from the estimated image, the estimated values corresponding to the respective estimated keys, based on the respective designated keys;
  • a value extraction system according to any one of (1) to (6).
  • the value extraction system comprises: a training data generating unit that generates training data including training key cell information on a position of a training key cell including the training key and training value cell information on a position of a training value cell including the training value based on character recognition of the training image; A learning unit that executes learning of the value extraction model based on the training data; Further comprising: The extraction unit extracts the estimated value based on the value extraction model learned by the learning unit.
  • a value extraction system according to any one of (1) to (7).
  • the value extraction system comprises: an additional generation unit that generates additional training data for learning the value extraction model based on the estimated image, the specified key, and the estimated value; an additional learning unit that performs additional learning of the value extraction model based on the additional training data; A value extraction system according to any one of (1) to (8).
  • the value extraction model learns relative positional relationships between the training keys and the training values included in the training documents in each of a plurality of languages;
  • the value extraction system further includes a language identification unit that identifies a language of the estimated document, The extraction unit extracts the estimated value further based on a language of the estimated document.
  • a value extraction system according to any one of (1) to (9).
  • the value extraction model has learned features related to the overall layout of the training documents;
  • the value extraction system further includes a feature identifier for identifying features related to an overall layout of the estimated image;
  • the extraction unit extracts the estimated value further based on features related to an overall layout of the estimated image.
  • (12) The value extraction model learns a relative positional relationship between one of the training keys and one of the training values corresponding to the one of the training keys, the extraction unit extracts, from the estimated image, one of the estimated values corresponding to one of the designated keys;
  • a value extraction system according to any one of (1) to (11).
  • the value extraction model learns a relative positional relationship between one training key and each of the plurality of training values corresponding to the one training key, the extraction unit extracts, from the estimated image, a plurality of the estimated values corresponding to one of the designated keys; A value extraction system according to any one of (1) to (12).
  • the value extraction model learns a relative positional relationship between the one training key and each of the plurality of training values arranged in a predetermined direction relative to each other; the extraction unit extracts, from the estimated image, each of the plurality of estimated values corresponding to the one designated key and aligned in the direction.
  • the extraction unit determines a search range in which the value extraction model is to search in the direction based on the estimated image, and extracts each of the multiple estimated values based on the search range.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

バリュー抽出システム(1)の推定画像取得部(103)は、推定キー及び推定バリューを含む推定文書が示された推定画像を取得する。指定キー取得部(104)は、ユーザにより指定された指定キーを取得する。抽出部(105)は、推定画像と、指定キーと、訓練画像に示された訓練文書に含まれる訓練キー及び訓練バリューの相対的な位置関係が学習されたバリュー抽出モデルと、に基づいて、推定画像の中から推定バリューを抽出する。

Description

バリュー抽出システム、バリュー抽出方法、及びプログラム
 本開示は、バリュー抽出システム、バリュー抽出方法、及びプログラムに関する。
 従来、画像に示された文書のレイアウトを解析する技術が検討されている。例えば、非特許文献1~4には、種々の文書のレイアウトが学習された学習モデルと、画像に示された文書の構成要素を含むセル(バウンディングボックス)の座標と、に基づいて、文書のレイアウトを解析する技術が記載されている。非特許文献1~4の手法では、画像全体における個々のセルの座標に基づいて、文書のレイアウトが解析される。
Yupan Huang, Tengchao Lv, Lei Cui, Yutong Lu, Furu Wei, "LayoutLMv3: Pre-training for Document AI with Unified Text and Image Masking", https://arxiv.org/abs/2204.08387, ACM Multimedia 2022 「Doc-former」, インターネット,2023年3月6日検索,online,https://github.com/shabie/docformer Peizhao Li, Jiuxiang Gu, Jason Kuen, Vlad I. Morariu, Handong Zhao, Rajiv Jain, Varun Manjunatha, Hongfu Liu, "SelfDoc: Self-Supervised Document Representation Learning", https://arxiv.org/abs/2106.03331, CVPR2021 Anonymous, "ERNIE-Layout: Layout-Knowledge Enhanced Multi-modal Pre-training for Document Understanding", https://openreview.net/pdf?id=NHECrvMz1LL
 例えば、非特許文献1~4の手法を利用して、文書の中からキーに対応するバリューを抽出するバリュー抽出モデルを作成したとする。この場合、バリューの位置は、文書によって異なるので、非特許文献1~4の手法を利用してバリュー抽出モデルを作成したとしても、特定の文書のバリューしか抽出できない。従来の技術では、バリュー抽出モデルの汎用性を十分に高めることができないので、キーに対応するバリューを精度良く抽出することができなかった。
 本開示の目的の1つは、キーに対応するバリューを精度良く抽出することである。
 本開示に係るバリュー抽出システムは、推定キー及び推定バリューを含む推定文書が示された推定画像を取得する推定画像取得部と、ユーザにより指定された指定キーを取得する指定キー取得部と、前記推定画像と、前記指定キーと、訓練画像に示された訓練文書に含まれる訓練キー及び訓練バリューの相対的な位置関係が学習されたバリュー抽出モデルと、に基づいて、前記推定画像の中から前記推定バリューを抽出する抽出部と、を含む。
 本開示によれば、キーに対応するバリューを精度良く抽出できる。
バリュー抽出システムの全体構成の一例を示す図である。 ユーザが推定文書を撮影する様子の一例を示す図である。 文字認識が実行された推定画像の一例を示す図である。 学習済みのバリュー抽出モデルの入力及び出力の関係の一例を示す図である。 バリュー抽出システムで実現される機能の一例を示す図である。 訓練データベースの一例を示す図である。 バリュー抽出システムで実行される処理の一例を示す図である。 変形例のバリュー抽出システムで実現される機能の一例を示す図である。 変形例1の訓練データベースの一例を示す図である。
[1.バリュー抽出システムの全体構成]
 本開示に係るバリュー抽出システムの実施形態の一例を説明する。図1は、バリュー抽出システムの全体構成の一例を示す図である。例えば、バリュー抽出システム1は、サーバ10及びユーザ端末20を含む。サーバ10及びユーザ端末20の各々は、インターネット又はLAN等のネットワークNに接続可能である。
 サーバ10は、サーバコンピュータである。制御部11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM等の揮発性メモリと、フラッシュメモリ等の不揮発性メモリと、を含む。通信部13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。
 ユーザ端末20は、ユーザのコンピュータである。例えば、ユーザ端末20は、パーソナルコンピュータ、タブレット端末、スマートフォン、又はウェアラブル端末である。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様である。操作部24は、タッチパネル又はマウス等の入力デバイスである。表示部25は、液晶ディスプレイ又は有機ELディスプレイである。撮影部26は、少なくとも1つのカメラを含む。
 なお、記憶部12,22に記憶されるプログラムは、ネットワークNを介して供給されてもよい。また、サーバ10及びユーザ端末20の各々には、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、メモリカードスロット)と、外部機器とデータの入出力をするための入出力部(例えば、USBポート)と、の少なくとも一方が含まれてもよい。例えば、情報記憶媒体に記憶されたプログラムが、読取部及び入出力部の少なくとも一方を介して供給されてもよい。
 また、バリュー抽出システム1は、少なくとも1つのコンピュータを含めばよく、図1の例に限られない。例えば、バリュー抽出システム1は、ユーザ端末20を含まずに、サーバ10だけを含んでもよい。この場合、ユーザ端末20は、バリュー抽出システム1の外部に存在する。例えば、バリュー抽出システム1は、サーバ10以外の他のコンピュータを含み、当該他のコンピュータによって、本実施形態で説明する処理が実行されてもよい。例えば、他のコンピュータは、パーソナルコンピュータ、タブレット端末、又はスマートフォンである。
[2.バリュー抽出システムの概要]
 本実施形態では、バリュー抽出システム1が、バリュー抽出モデルの学習と、学習済みのバリュー抽出モデルに基づく推定と、の両方を実行する場合を例に挙げる。バリュー抽出システム1は、学習又は推定の何れか一方のみを実行してもよい。即ち、本実施形態では、バリュー抽出システム1が学習及び推定の両方の機能を有する場合を例に挙げるが、バリュー抽出システム1は、学習又は推定の何れか一方の機能のみを有してもよい。
 バリュー抽出モデルは、キー及びバリューを含む文書が示された画像の中から、キーに対応するバリューを抽出モデルである。バリュー抽出モデルは、機械学習の手法を利用したモデルである。本実施形態では、バリュー抽出モデルがVision Transformerベースのモデルである場合を例に挙げるが、機械学習の手法自体は、画像処理分野で利用されている種々の手法を利用可能である。例えば、バリュー抽出モデルは、ニューラルネットワーク又はサポートベクターマシンを利用したモデルであってもよい。
 キーは、バリューの意味を示す情報である。キーは、バリューの属性、説明、又は見出しということもできる。バリューは、キーの具体的な値を示す情報である。バリューは、キーの詳細又は内容ということもできる。キーを属性と呼ぶ場合には、バリューは、属性値に相当する。本実施形態では、キー及びバリューの各々が文字列(テキスト)である場合を例に挙げるが、キー及びバリューの各々は、任意の形式であってよく、文字列に限られない。例えば、キー及びバリューの少なくとも一方は、文字列に分類されない記号列、バーコード、二次元コード、又はアイコンであってもよい。キーが文字列であり、バリューが二次元コードであるといったように、キーの形式と、バリューの形式と、が異なってもよい。
 文書は、人間が見て理解できる情報を含む書類である。例えば、文書は、文字が形成された用紙又はカードである。本実施形態では、文書がレシートである場合を例に挙げるが、文書は、任意の種類であってよく、レシートに限られない。例えば、文書は、請求書、見積書、申請書、公的書類、社内書類、チラシ、論文、雑誌、新聞、参考書、又は本人確認書類であってもよい。バリュー抽出モデルは、任意の文書が示された画像の中から、バリューを抽出可能である。バリュー抽出モデルには、1つの種類の文書だけではなく、複数の種類の文書が学習されていてもよい。
 文書は、少なくとも1つのキーと、少なくとも1つのバリューと、を含む。本実施形態では、文書が、1つのキーと、1つのバリューと、を含む場合を例に挙げるが、文書は、1つのキーと、複数のバリューと、を含んでもよい。文書は、複数のキーと、1つのバリューと、を含んでもよい。文書は、複数のキーと、複数のバリューと、を含んでもよい。即ち、キー及びバリューは、1対1、1対多、多対1、又は多対多の何れの関係であってもよい。文書は、キー及びバリュー以外の他の情報を含んでもよい。
 以降、バリュー抽出モデルに学習させる画像を訓練画像という。訓練画像に示された文書を訓練文書という。訓練文書に含まれるキー及びバリューを、それぞれ訓練キー及び訓練バリューという。学習済みのバリュー抽出モデルの推定対象となる画像を推定画像という。推定画像に示された文書を推定文書という。推定文書に含まれるキー及びバリューを、それぞれ推定キー及び推定バリューという。本実施形態では、ユーザが推定文書を保有する場合を例に挙げる。例えば、ユーザは、推定文書を撮影部26で撮影する。
 図2は、ユーザが推定文書を撮影する様子の一例を示す図である。例えば、ユーザが、推定文書EDを撮影部26で撮影すると、ユーザ端末20は、推定文書EDが示された推定画像EIを生成する。図2の例では、推定画像EIの左上を原点Oとして、x軸及びy軸が設定されるものとする。推定画像EI内の位置は、x座標及びy座標を含む2次元座標で示される。推定画像EI内の位置は、任意の座標系で表現可能であり、図2の例に限られない。例えば、推定画像EIの中心を原点Oとする座標系、又は、極座標系で推定画像EI内の位置が表現されてもよい。
 本実施形態では、推定文書EDに印刷された文字列「Payment」が推定キーに相当し、推定文書EDに印刷された支払方法を示す文字列(図2の例では「EEE-pay」)が推定バリューに相当する場合を例に挙げる。推定キー及び推定バリューは、互いに対となる情報であればよく、本実施形態の例に限られない。例えば、推定文書EDに印刷された文字列「Total」が推定キーに相当し、推定文書EDに印刷された合計金額が推定バリューに相当してもよい。推定文書EDに印刷された文字列「Tel」が推定キーに相当し、推定文書EDに印刷された電話番号が推定バリューに相当してもよい。
 例えば、ユーザは、推定キーと同じキーを操作部24から指定する。以降、ユーザが指定したキーを、指定キーという。ユーザは、任意の文字列を入力することによって、又は、複数の候補の中から指定キーを選択することによって、指定キーを指定する。ユーザ端末20は、サーバ10に対し、指定キー及び推定画像EIを送信する。サーバ10は、ユーザ端末20から、指定キー及び推定画像EIを受信すると、推定画像EIに対し、文字認識を実行する。
 図3は、文字認識が実行された推定画像EIの一例を示す図である。例えば、サーバ10は、公知の文字認識ツールを利用して、推定画像EIの中から、推定セルEC1~EC15を検出する。以降、推定セルEC1~EC15を区別しない時は、単に推定セルECという。推定セルECは、任意の形状であってよく、図3のような長方形に限られない。例えば、推定セルECは、正方形、角丸四角形、四角形以外の多角形、又は楕円形であってもよい。
 推定セルECは、少なくとも1つの文字を含む領域である。推定セルECは、バウンディングボックスと呼ばれることもある。本実施形態では、文字認識ツールを利用して推定セルECが検出されるので、推定セルECは、少なくとも1つの文字を含む。1文字ごとに推定セルECが検出されてもよいが、本実施形態では、互いに連続した複数の文字が1つの推定セルECとして検出されるものとする。例えば、文字間のスペースが小さければ、スペースで区切られた複数の語を含む1つの推定セルECが検出されることもある。
 本実施形態では、サーバ10は、座標ではなく行列によって、推定セルECの位置を特定する。例えば、サーバ10は、互いに座標が近い推定セルEC同士を、同じ行又は同じ列に分類する。これにより、サーバ10は、本来は同じ行又は列にある推定セルEC同士の微妙な座標の差を吸収できる。図3の例であれば、推定セルEC1は、0行目の1列目である。推定セルEC2は、1行目の0列目である。推定セルEC3は、2行目の0列目である。推定セルEC4~C15も同様に、行列によって位置が特定される。
 例えば、サーバ10は、複数の推定セルECの各々の推定セル情報を取得する。推定セル情報は、推定セルECに関する何らかの情報であればよい。例えば、推定セル情報は、推定セルECの行列の位置、推定セルECに含まれる文字列、推定セルECの座標、推定セルECの幅、及び推定セルEC内の画像データの少なくとも1つを含む。サーバ10は、学習済みのバリュー抽出モデルに対し、複数の推定セルECの各々の推定セル情報と、指定キーと、を入力する。
 図4は、学習済みのバリュー抽出モデルの入力及び出力の関係の一例を示す図である。例えば、バリュー抽出モデルMは、複数の推定セルECの各々の推定セル情報が入力されると、複数の推定セルECの中から指定キーと一致する文字列である推定キーを推定セル情報に含む推定セルECを特定する。図4の例では、バリュー抽出モデルMは、推定キーが推定セルEC14に含まれることを特定する。バリュー抽出モデルMは、推定セルEC14と所定の位置関係にある推定セルEC15に推定バリューが含まれていると推定する。
 例えば、訓練キーと同じ行であり、かつ、訓練キーに対して右方向に訓練バリューがあることがバリュー抽出モデルMに学習されている場合、バリュー抽出モデルMは、推定セルEC14と同じ行であり、かつ、推定セルEC14から右方向にある推定セルEC15に推定バリューが含まれると推定する。このため、バリュー抽出モデルMは、推定セルEC15に含まれる文字列「EEE-Pay」を推定バリューとして出力する。サーバ10は、バリュー抽出モデルMから出力された推定バリューを、ユーザ端末20に送信する。
 本実施形態では、種々の訓練文書と、種々の訓練キー及び訓練バリューの相対的な位置関係と、がバリュー抽出モデルMに学習されているものとする。例えば、レシートだけではなく、請求書及び見積書といった種々の訓練文書に含まれる訓練キー及び訓練バリューの相対的な位置関係がバリュー抽出モデルMに学習されている。種々の訓練キー及び訓練バリューの相対的な位置関係が学習されているので、ユーザが指定キーを指定することによって、バリュー抽出モデルMは、指定キーと同じ推定キーに対応する推定バリューの位置を推定できる。
 以上のように、バリュー抽出モデルMには、訓練キー及び訓練バリューの相対的な位置関係が学習されている。バリュー抽出システム1は、推定画像EIと、指定キーと、学習済みのバリュー抽出モデルMと、に基づいて、推定画像EIの中から推定バリューを抽出することによって、推定キーに対応する推定バリューを精度よく抽出できる。以降、本実施形態の詳細を説明する。
[3.バリュー抽出システムで実現される機能]
 図5は、バリュー抽出システム1で実現される機能の一例を示す図である。
[3-1.サーバで実現される機能]
 例えば、サーバ10は、データ記憶部100、訓練データ生成部101、学習部102、推定画像取得部103、指定キー取得部104、及び抽出部105を含む。データ記憶部100は、図1に示した記憶部12により実現される。訓練データ生成部101、学習部102、推定画像取得部103、指定キー取得部104、及び抽出部105は、図1に示した制御部11により実現される。
[データ記憶部]
 データ記憶部100は、バリュー抽出モデルMの学習と、学習済みのバリュー抽出モデルMに基づく推定と、の少なくとも一方に必要なデータを記憶する。例えば、データ記憶部100は、バリュー抽出モデルMに学習させる訓練データが格納された訓練データベースDBを記憶する。
 図6は、訓練データベースDBの一例を示す図である。「No」は、訓練データの識別情報である。図6の例では、3つの訓練データが示されている。例えば、訓練データは、学習時にバリュー抽出モデルMに入力される入力部分と、学習時にバリュー抽出モデルMから出力されるべき出力部分と、を含む。訓練データの入力部分の形式は、推定時にバリュー抽出モデルMに入力される入力データの形式と同じである。訓練データの出力部分の形式は、推定時にバリュー抽出モデルMから出力される出力データの形式と同じである。
 訓練データの入力部分は、訓練キーの位置に関する情報を含む。訓練データの出力部分は、訓練バリューの位置に関する情報を含む。訓練データは、これらの入力部分及び出力部分を含むので、訓練キー及び訓練バリューの相対的な位置関係が訓練データに示される。本実施形態では、位置が行列によって表現される場合を説明するが、位置は、座標又はベクトルといった他の形式で表現されてよい。
 例えば、訓練データの入力部分は、訓練画像から抽出された訓練セルに関する訓練セル情報を含む。訓練セルは、訓練画像から抽出される点で推定セルとは異なるが、他の点については、推定セルと同様である。このため、推定セルの説明における「推定」の文字を「訓練」に読み替えた説明が、訓練セルの説明に相当する。例えば、訓練セル情報は、訓練セルの行列の位置、訓練セルに含まれる文字列、訓練セルの座標、訓練セルの幅、及び訓練セル内の画像データの少なくとも1つを含む。
 以降、訓練キーを含む訓練セルを、訓練キーセルという。訓練キー以外の文字列を含む他の訓練セルも訓練画像から抽出されるので、他の訓練セルと、訓練キーセルと、を区別しない時は、単に訓練セルという。図6の例では、訓練データの入力部分が訓練キーセルだけを含む場合が示されているが、訓練データの入力部分は、他の訓練セルの訓練セル情報を含んでもよい。
 例えば、訓練データの出力部分は、訓練画像から抽出された訓練バリューに関する訓練セル情報を含む。以降、訓練バリューを含む訓練セルを、訓練バリューセルという。訓練バリュー以外の文字列を含む他の訓練セルも訓練画像から抽出されるので、他の訓練セルと、訓練バリューセルと、を区別しない時は、単に訓練セルという。図6の例では、訓練データの出力部分が訓練バリューセルだけを含む場合が示されているが、訓練データの出力部分は、他の訓練セルを含んでもよい。
 本実施形態では、訓練バリューセルの位置を示す行列は、訓練キーセルの位置が基準となっている。例えば、訓練キーセルの行列を(0,0)とした場合の訓練バリューセル行列が訓練データの出力部分に示される。図6の例であれば、1つ目の訓練データの入力部分は、訓練キー「Payment」の位置を示す行列(0,0)を含む。1つ目の訓練データの訓練バリューは、訓練キー「Payment」と同じ行であり、かつ、右方向に1列分離れた位置にあるので、1つ目の訓練データの出力部分は、この訓練バリューの位置を示す行列(0,1)を含む。
 なお、訓練データには、訓練キーセルの位置を基準とした行列ではなく、訓練画像内における絶対的な行列の位置が示されてもよい。訓練データは、訓練キーセル及び訓練バリューセルの相対的な位置関係が示されるようにすればよい。更に、行列ではなく座標で訓練画像内の位置が表現される場合には、訓練データは、訓練キーセルの位置を示す座標と、訓練バリューの位置を示す座標と、を含んでもよい。訓練セルが利用されない場合には、訓練データは、訓練キーの位置を示す座標又は行列と、訓練バリューの位置を示す座標又は行列と、を含んでもよい。
 例えば、データ記憶部100は、学習前のバリュー抽出モデルMを記憶する。バリュー抽出モデルMは、プログラム及びパラメータを含む。パラメータは、学習によって調整される。学習前のバリュー抽出モデルMは、パラメータが初期値のバリュー抽出モデルMである。先述したように、本実施形態では、バリュー抽出モデルMがVision Transformerベースのモデルである場合を例に挙げる。Vision Transformerは、主に自然言語処理で利用されるTransformerを、画像処理に適用した手法である。
 例えば、Transformerは、文書の構成要素が時系列に並べられた入力データにおける互いのつながりを解析する。例えば、Vision Transformerは、自身に入力された入力画像を複数のパッチに分割し、複数のパッチが並べられた入力データを取得する。Vision Transformerは、Transformerによる文脈の解析を、パッチ同士のつながりの解析に流用した手法である。Vision Transformerは、入力データに含まれる個々のパッチをベクトルに変換して解析する。本実施形態のバリュー抽出モデルMは、このようなVision Transformerの仕組みが流用されている。
 なお、データ記憶部100に記憶されるデータは、上記の例に限られない。データ記憶部100は、バリュー抽出モデルMの学習と、学習済みのバリュー抽出モデルMに基づく推定と、の少なくとも一方に必要なデータを記憶すればよく、任意のデータを記憶可能である。例えば、データ記憶部100は、バリュー抽出モデルMの学習を実行するためのプログラム、推定画像EIが格納された推定画像データベース、訓練画像が格納された訓練画像データベース、及び文字認識ツールを記憶してもよい。
[訓練データ生成部]
 訓練データ生成部101は、訓練データを生成する。本実施形態では、訓練データ生成部101が訓練画像から訓練データを生成する場合を説明するが、バリュー抽出モデルMを作成する作成者が手動で訓練データを生成してもよい。例えば、作成者は、訓練画像を目視で確認し、訓練キーの位置と、訓練バリューの位置と、をアノテーションする。訓練データ生成部101は、作成者によるアノテーション結果に基づいて、訓練データを生成してもよい。
 例えば、訓練データ生成部101は、訓練画像に対する文字認識に基づいて、訓練キーを含む訓練キーセルの位置に関する訓練キーセル情報と、訓練バリューを含む訓練バリューセルの位置に関する訓練バリューセル情報と、を含む訓練データを生成する。訓練データ生成部101は、図3で説明した推定画像EIと同様の文字認識を、訓練画像に対して実行する。訓練データ生成部101は、訓練画像から抽出した複数の訓練セルの中から、訓練キーセル及び訓練バリューセルを特定する。訓練キー及び訓練バリューは、予め作成者により指定されているものとする。
 例えば、訓練データ生成部101は、複数の訓練セルの中から、訓練キーと一致する文字列を含む訓練セルを、訓練キーセルとして特定する。訓練データ生成部101は、複数の訓練セルの中から、訓練バリューと一致する文字列を含む訓練セルを、訓練バリューセルとして特定する。文字列の一致は、完全一致であってもよいし、部分一致であってもよい。作成者が訓練セルを目視で確認し、訓練キーセル及び訓練バリューセルのアノテーションをしてもよい。この場合、訓練データ生成部101は、作成者によるアノテーション結果に基づいて、訓練キーセル及び訓練バリューセルを特定する。
 例えば、訓練データ生成部101は、訓練キーセルの行列の位置を基準とした訓練バリューセルの行列の位置を計算する。訓練データ生成部101は、訓練キーセルの行列の位置を示す(0,0)と、訓練キーを示す文字列と、のペアを、訓練データの入力部分として生成する。訓練データ生成部101は、訓練バリューセル訓練キーセルの行列の位置を基準とした訓練バリューセルの行列の位置を、訓練データの出力部分として生成する。訓練データ生成部101は、当該生成された入力部分及び出力部分を結合して訓練データを生成する。訓練データ生成部101は、他の訓練画像についても同様の処理を実行し、訓練データを次々と生成する。
[学習部]
 学習部102は、訓練データに基づいて、バリュー抽出モデルMの学習を実行する。学習自体は、機械学習の手法で利用されている種々の手法を利用可能である。例えば、学習部102は、誤差逆伝播法又は勾配降下法に基づいて、バリュー抽出モデルMの学習を実行してもよい。学習部102は、訓練データの入力部分が入力された場合に訓練データの出力部分が出力されるように、バリュー抽出モデルMのパラメータを調整する。学習部102は、損失関数に基づいて計算される損失が十分に小さくなるまで、バリュー抽出モデルMの学習を実行する。学習部102は、バリュー抽出モデルMの学習が完了すると、学習済みのバリュー抽出モデルMをデータ記憶部100に記録する。
[推定画像取得部]
 推定画像取得部103は、推定キー及び推定バリューを含む推定文書EDが示された推定画像EIを取得する。本実施形態では、ユーザ端末20が、サーバ10に対し、推定画像EIを送信するので、推定画像取得部103は、ユーザ端末20から推定画像EIを取得する。推定画像EIは、予めデータ記憶部100又は外部記憶媒体に記録されていてもよい。この場合、推定画像取得部103は、データ記憶部100又は外部記憶媒体から推定画像EIを取得すればよい。
[指定キー取得部]
 指定キー取得部104は、ユーザにより指定された指定キーを取得する。本実施形態では、ユーザ端末20が、サーバ10に対し、指定キーを送信するので、指定キー取得部104は、ユーザ端末20から指定キーを取得する。指定キーは、予めデータ記憶部100又は外部記憶媒体に記録されていてもよい。この場合、指定キー取得部104は、データ記憶部100又は外部記憶媒体から指定キーを取得すればよい。
[抽出部]
 抽出部105は、推定画像EIと、指定キーと、訓練画像に示された訓練文書に含まれる訓練キー及び訓練バリューの相対的な位置関係が学習されたバリュー抽出モデルMと、に基づいて、推定画像EIの中から推定バリューを抽出する。抽出部105は、推定画像EI及び指定キーに基づいて、バリュー抽出モデルMに入力する入力データを取得する。抽出部105は、バリュー抽出モデルMに対し、入力データを入力する。バリュー抽出モデルMは、学習によって調整されたパラメータに基づいて、入力データの特徴量を計算する。バリュー抽出モデルMは、入力データの特徴量に基づいて、推定バリューの推定結果を出力する。抽出部105は、バリュー抽出モデルMから出力された推定バリューを取得することによって、推定画像EIの中から推定バリューを抽出する。
 本実施形態では、バリュー抽出モデルMには、訓練画像における訓練キーの行及び列と、訓練画像における訓練バリューの行及び列と、の相対的な位置関係が学習されている。例えば、訓練キーの行及び列の位置を基準とした訓練バリューの行及び列の位置がバリュー抽出モデルMに学習されている。バリュー抽出モデルMには、訓練キーの行及び列の位置を基準とするのではなく、訓練画像の原点を基準とした訓練キーの行及び列の位置と、訓練バリューの行及び列の位置と、の関係が学習されていてもよい。
 例えば、抽出部105は、推定画像EIに対する文字認識の実行結果に基づいて、指定キーの行及び列を取得する。本実施形態では、抽出部105が推定画像EIに対して光学文字認識を実行する場合を例に挙げるが、抽出部105は、光学文字認識以外の他の手法に基づいて、推定画像EIに対する文字認識を実行してもよい。例えば、抽出部105は、テンプレート画像と比較するテンプレートマッチング、画素値の分布をヒストグラムとして解析する手法、ニューラルネットワーク等の機械学習の手法、又はその他の手法に基づいて、文字認識を実行してもよい。訓練データ生成部101による文字認識も同様に、光学文字認識を含む種々の手法であってよい。
 例えば、抽出部105は、推定画像EIから少なくとも1つの文字を含むセルである推定セルを抽出する。抽出部105は、複数の推定セルの各々の座標に基づいて、互いのx座標が近い推定セル同士が同じ列に属し、互いのy座標が近い推定セル同士が同じ行に属するように、複数の推定セルの各々の行及び列を取得する。行及び列を取得するとは、行及び列の各々の位置を特定することである。例えば、推定画像EIの左上から順番に行番号及び列番号が採番される場合には、抽出部105は、複数の推定セルの各々の行番号及び列番号を取得する。
 例えば、抽出部105は、指定キーの行及び列と、バリュー抽出モデルMと、に基づいて、推定バリューを抽出する。本実施形態では、指定キーの行及び列を特定する処理が、バリュー抽出モデルMの内部で実行される場合を例に挙げるが、指定キーの行及び列を特定する処理は、バリュー抽出モデルMの外部で実行されてもよい。例えば、抽出部105は、指定キーの行及び列を特定したうえで、当該特定された指定キーの行及び列をバリュー抽出モデルMに入力してもよい。即ち、抽出部105は、バリュー抽出モデルMによる推定の前処理として、指定キーの行及び列を特定してもよい。
 例えば、抽出部105は、バリュー抽出モデルMに対し、推定画像EIから抽出された複数の推定セル情報の各々と、指定キーと、を入力する。バリュー抽出モデルMは、複数の推定セル情報のうち、指定キーと同じ又は類似する文字列を含む推定セル情報を特定する。バリュー抽出モデルMは、当該特定された推定セル情報が示す行及び列を、指定キーの行及び列として特定する。バリュー抽出モデルMは、当該特定された指定キーの行及び列に基づいて、推定キーの行及び列を推定して出力する。抽出部105は、バリュー抽出モデルMから出力された推定キーの行及び列を取得することによって、推定画像EIの中から、推定バリューを抽出する。
 本実施形態では、バリュー抽出モデルMには、訓練キーを含む訓練キーセルの位置に関する訓練キーセル情報と、訓練バリューを含む訓練バリューセルの位置に関する訓練バリューセル情報と、の相対的な位置関係が学習されている。抽出部105は、推定画像EIに対する文字認識に基づいて、推定キーを含む推定キーセルの位置に関する推定キーセル情報を取得する。抽出部105は、推定キーセル情報と、バリュー抽出モデルMと、に基づいて、推定バリューを抽出する。
 本実施形態では、抽出部105は、学習部102により学習されたバリュー抽出モデルMに基づいて、推定バリューを抽出する。バリュー抽出モデルMの学習は、サーバ10以外の他のコンピュータによって実行されてもよい。この場合、データ記憶部100には、他のコンピュータにより学習が実行されたバリュー抽出モデルMが記憶されている。抽出部105は、他のコンピュータにより学習が実行されたバリュー抽出モデルMに基づいて、推定バリューを抽出してもよい。
 本実施形態では、バリュー抽出モデルMには、1つの訓練キーと、当該1つの訓練キーに対応する1つの訓練バリューと、の相対的な位置関係が学習されている。即ち、訓練キー及び訓練バリューは、1対1で対応する。推定キー及び推定バリューも、1対1で対応する。抽出部105は、推定画像EIの中から、1つの指定キーに対応する1つの推定バリューを抽出する。
 なお、抽出部105が実行する処理は、上記の例に限られない。例えば、バリュー抽出モデルMに入力される入力データと、バリュー抽出モデルMから出力される出力データと、の形式は、予め定められた形式であればよく、本実施形態の例に限られない。抽出部105は、推定画像EI及び指定キーのペアを、そのまま入力データとしてバリュー抽出モデルMに入力してもよい。この場合、バリュー抽出モデルMは、推定画像EIの畳み込み等を行って推定画像EIの特徴量を計算し、当該特徴量及び指定キーに応じた推定を実行する。バリュー抽出モデルMは、推定バリューセルの位置に関する推定セル情報を出力するのではなく、推定バリューの文字列を出力してもよい。
[3-2.ユーザ端末で実現される機能]
 データ記憶部200は、記憶部22を主として実現される。送信部201及び受信部202は、制御部21を主として実現される。
[データ記憶部]
 データ記憶部200は、推定画像EIの取得に必要なデータを記憶する。例えば、データ記憶部200は、撮影部26により生成された推定画像EIを記憶する。
[送信部]
 送信部201は、サーバ10に対し、種々のデータを送信する。例えば、送信部201は、サーバ10に対し、推定画像EIを送信する。
[受信部]
 受信部202は、サーバ10から、種々のデータを受信する。例えば、受信部202は、サーバ10から、バリュー抽出モデルMにより推定された推定バリューを受信する。ユーザ端末20は、推定バリューを表示部25に表示させる。
[4.バリュー抽出システムで実行される処理]
 図7は、バリュー抽出システム1で実行される処理の一例を示す図である。制御部11,21が、それぞれ記憶部12,22に記憶されたプログラムを実行することによって、図7の処理が実行される。図7のように、サーバ10は、訓練画像に対する文字認識を実行して訓練キーセル及び訓練バリューセルを抽出し、訓練キーセル情報及び訓練バリューセル情報を含む訓練データを生成する(S1)。サーバ10は、訓練データベースDBに格納された訓練データに基づいて、バリュー抽出モデルMの学習を実行する(S2)。
 ユーザ端末20は、ユーザが撮影部26で推定文書EDを撮影すると、推定画像EIを生成してサーバ10に送信する(S3)。サーバ10は、ユーザ端末20から推定画像EIを受信する(S4)。ユーザ端末20は、ユーザによる指定キーの指定を受け付けてサーバ10に送信する(S5)。ユーザ端末20は、ユーザ端末20から指定キーを受信する(S6)。ユーザ端末20は、サーバ10に対し、推定文書ED及び指定キーを一度にまとめて送信してもよい。
 サーバ10は、推定画像EIに対する文字認識を実行して推定セルECを抽出する(S7)。S7では、サーバ10は、推定セルECのセル情報のうち、行番号及び列番号以外の部分を取得する。サーバ10は、複数の推定セルECの各々のy座標に基づいて、互いに同じ行に属する推定セルECに同じ行番号を付与し、複数の推定セルECの各々のx座標に基づいて、互いに同じ列に属する推定セルECに同じ列番号を付与することによって、複数の推定セルECの各々のセル情報を取得する。
 サーバ10は、バリュー抽出モデルMに対し、複数の推定セルECの各々の推定セル情報と、指定キーと、を入力する(S8)。バリュー抽出モデルMは、自身に入力された入力データの特徴量を計算し、特徴量に応じた推定結果を出力する。サーバ10は、バリュー抽出モデルMからの出力に基づいて、推定画像EIの中から推定バリューを抽出する(S9)。サーバ10は、ユーザ端末20に対し、推定バリューを送信する(S10)。ユーザ端末20は、サーバ10から推定バリューを受信し(S11)、本処理は終了する。
[5.実施形態のまとめ]
 本実施形態のバリュー抽出システム1は、推定画像EI、指定キー、及び学習済みのバリュー抽出モデルMに基づいて、推定画像EIの中から推定バリューを抽出する。これにより、推定キーに対応する推定バリューを精度良く抽出できる。例えば、非特許文献1~4のように、画像全体の中のおける推定バリューの位置をモデルに学習させる場合には、ある特定のレイアウトの文書にしか対応できないが、推定キー及び推定バリューの相対的な位置関係が、訓練キー及び訓練バリューの相対的な位置関係と似ていれば、バリュー抽出システム1は、未知の推定文書EDだったとしても推定バリューを抽出できる。このため、バリュー抽出システム1は、種々の推定文書EDの種々の推定バリューに対応できるようになるので、バリュー抽出モデルMの汎用性を高めることができる。
 また、バリュー抽出システム1は、推定画像EIに対する文字認識の実行結果に基づいて、指定キーの行及び列を取得し、指定キーの行及び列と、バリュー抽出モデルMと、に基づいて、推定バリューを抽出する。これにより、バリュー抽出システム1は、推定セルECの位置を示す座標のわずかなずれを吸収したうえで、推定バリューを抽出できるので、推定バリューの抽出精度をより高めることができる。
 また、バリュー抽出システム1は、推定画像EIに対する文字認識に基づいて、推定キーを含む推定キーセルの位置に関する推定キーセル情報を取得する。バリュー抽出システム1は、推定キーセル情報と、バリュー抽出モデルMと、に基づいて、推定バリューを抽出する。これにより、バリュー抽出システム1は、文字認識によって、バリュー抽出モデルMが推定画像EIの傾向を特定しやすい状態にすることができるので、推定バリューの抽出精度をより高めることができる。
 また、バリュー抽出システム1は、訓練画像に対する文字認識に基づいて、訓練キーセル情報と、訓練バリューセル情報と、を含む訓練データを生成する。バリュー抽出システム1は、訓練データに基づいて、バリュー抽出モデルMの学習を実行する。バリュー抽出システム1は、当該学習されたバリュー抽出モデルMに基づいて、推定バリューを抽出する。これにより、バリュー抽出システム1は、訓練データを生成する処理を自動化できるので、バリュー抽出モデルMの作成者が訓練データを用意する手間を軽減できる。
 また、バリュー抽出モデルMには、1つの訓練キーと、当該1つの訓練キーに対応する1つの訓練バリューと、の相対的な位置関係が学習されている。バリュー抽出システム1は、推定画像EIの中から、1つの指定キーに対応する1つの推定バリューを抽出する。これにより、バリュー抽出システム1は、推定キー及び推定バリューが1対1で対応する推定文書EDの中から、推定バリューを抽出できる。
[6.変形例]
 なお、本開示は、以上に説明した実施形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
 図8は、変形例のバリュー抽出システム1で実現される機能の一例を示す図である。例えば、変形例のサーバ10は、追加生成部106、追加学習部107、言語特定部108、及び特徴特定部109を含む。追加生成部106、追加学習部107、言語特定部108、及び特徴特定部109は、制御部11により実現される。
[6-1.変形例1]
 例えば、実施形態では、訓練キーを基準とした訓練バリューの位置がバリュー抽出モデルMに学習されている場合を例に挙げた。訓練バリューは、訓練キーに対して1つの方向に位置するとは限らない。このため、バリュー抽出モデルMには、訓練画像における訓練キーの位置を基準にして、複数の方向の各々に訓練バリューが存在するか否かが学習されるようにしてもよい。
 図9は、変形例1の訓練データベースDBの一例を示す図である。例えば、訓練データには、訓練キーを基準として、左上、上、右上、左、右、左下、下、及び右下の8方向の各々に、訓練バリューが存在するか否かを示す値が示されている。図9の例では、訓練データの出力部分は、8つの値を含む。値が「0」であることは、訓練バリューが存在しないことを意味する。値が「1」であることは、訓練バリューが存在することを意味する。
 例えば、図9の1つ目の訓練データは、訓練キーの右に対応する値が「1」なので、訓練キーの右に訓練バリューが存在することを示す。2つ目の訓練データは、訓練キーの左上に対応する値が「1」であり、かつ、訓練キーの右上に対応する値が「1」なので、訓練キーの左上及び右上の各々に訓練バリューが存在することを示す。2つ目の訓練データのように、1つの訓練キーに対し、2つの訓練バリューが存在する場合には、複数の方向の各々の値が「1」になることもある。
 変形例1の学習部102は、図9の訓練データの入力部分がバリュー抽出モデルMに入力された場合に、図9の訓練データの出力部分をバリュー抽出モデルMが出力するように、バリュー抽出モデルMの学習を実行する。変形例1のバリュー抽出モデルMは、複数の方向の各々に訓練バリューが存在するか否かを示す値を出力する。図9の例であれば、バリュー抽出モデルMは、8つの値を出力する。例えば、バリュー抽出モデルMは、ベクトル形式、配列形式、又はその他の形式で8つの値を出力する。
 変形例1の抽出部105は、推定画像EIにおける指定キーの位置を基準にして、複数の方向の各々に推定バリューが存在するか否かをバリュー抽出モデルMに判定させることによって、推定バリューを抽出する。例えば、抽出部105は、バリュー抽出モデルMに対し、実施形態と同様の推定セル情報及び指定キーを入力する。変形例1のバリュー抽出モデルMは、訓練キーに対して複数の方向の各々に訓練バリューが存在するか否かを学習しているので、推定セル情報の特徴量に基づいて、複数の方向の各々に推定バリューが存在するか否かを推定する。
 例えば、バリュー抽出モデルMは、複数の方向の各々に推定バリューが存在するか否かを示す値を出力する。図9の訓練データの例であれば、バリュー抽出モデルMは、推定キーを基準にして8方向の各々に推定バリューが存在するか否かを示す値を出力する。抽出部105は、バリュー抽出モデルMから出力された8つの値を取得する。抽出部105は、8つの値のうち、推定バリューが存在することを示す方向の推定セルに含まれる文字列を、推定キーとして取得する。
 変形例1のバリュー抽出システム1は、推定画像EIにおける指定キーの位置を基準にして、複数の方向の各々に推定バリューが存在するか否かをバリュー抽出モデルMに判定させることによって、推定バリューを抽出する。これにより、バリュー抽出システム1は、推定キーに対して推定バリューが存在する方向が複数存在したとしても、推定バリューを抽出できる。
[6-2.変形例2]
 例えば、変形例1において、バリュー抽出モデルMは、推定キーに対して複数の方向の各々に推定バリューが存在すると推定することがある。この場合に、1つの推定キーに対して1つの推定バリューしか存在しない場合には、ある1つの方向の推定結果だけが正しく、残りの方向の推定結果は、誤りである。推定キーに対して推定バリューが存在しやすい方向が予め特定されている場合には、複数の方向の各々には、優先順位が定められていてもよい。
 変形例2のデータ記憶部100は、複数の方向の各々と、優先順位と、の関係を示すデータを記憶する。図9の訓練データの例であれば、8方向の各々に優先順位が定められている。ここでは、右の優先順位が最も高く、右上と右下の優先順位が互いに同じであり2番目に高いものとする。他の方向の優先順位は、最も低いものとする。抽出部105は、推定バリューが存在すると判定された方向が複数存在する場合には、当該複数の方向の各々の優先順位に基づいて、推定バリューを抽出する。
 例えば、抽出部105は、推定バリューが存在すると判定された複数の方向のうち、優先順位が最も高い方向にある文字列を、推定バリューとして抽出する。抽出部105は、推定バリューが存在すると判定された複数の方向のうち、優先順位が高い順に所定数の方向を選択し、当該選択された方向にある文字列を、推定バリューとして抽出してもよい。抽出部105は、推定バリューが存在すると判定された複数の方向のうち、優先順位が閾値以上の全ての方向を選択し、当該選択された方向にある文字列を、推定バリューとして抽出してもよい。
 変形例2のバリュー抽出システム1は、推定バリューが存在すると判定された方向が複数存在する場合には、当該複数の方向の各々の優先順位に基づいて、推定バリューを抽出する。これにより、バリュー抽出システム1は、推定バリューの抽出精度を高めることができる。
[6-3.変形例3]
 例えば、実施形態では、推定文書ED及び訓練文書が、両方ともレシートであり、互いに同じ種類である場合を例に挙げた。推定文書ED及び訓練文書は、互いに異なる種類であってもよい。例えば、推定文書EDがレシートであり、かつ、訓練文書が見積書であってもよい。訓練キー及び訓練バリューの相対的な位置関係と、推定キー及び推定バリューの相対的な位置関係と、の傾向が似ていれば、推定文書EDの種類と、訓練文書の種類と、が異なってもよい。
 変形例3のバリュー抽出モデルMには、第1の種類の訓練文書に含まれる訓練キー及び訓練バリューの相対的な位置関係が学習されている。変形例3では、第1の種類の訓練文書が見積書であるものとする。訓練データには、訓練文書である見積書が示された訓練画像に含まれる訓練キー及び訓練バリューの相対的な位置関係が示されている。抽出部105は、第1の種類とは異なる第2の種類の推定文書EDが示された推定画像EIの中から、推定バリューを抽出する。変形例3では、第2の種類の推定文書EDがレシートであるものとする。推定文書ED及び訓練文書の種類が互いに異なる点で実施形態とは異なるが、他の点については、実施形態と同様である。
 変形例3のバリュー抽出システム1は、バリュー抽出モデルMに学習された訓練文書の種類である第1の種類とは異なる第2の種類の推定文書EDが示された推定画像EIの中から推定バリューを抽出する。これにより、バリュー抽出システム1は、推定文書ED及び訓練文書の種類が互いに異なっていたとしても、推定画像EIの中から推定バリューを抽出できるので、バリュー抽出モデルMの汎用性を高めることができる。
[6-4.変形例4]
 例えば、実施形態では、バリュー抽出モデルMに入力される指定キーが1つである場合を例に挙げたが、バリュー抽出モデルMには、複数の指定キーの各々が次々と入力されてもよい。変形例4では、実施形態で説明した「Payment」以外にも、「Total」の指定キーがバリュー抽出モデルMに入力される場合を例に挙げる。指定キーは、2つではなく、3つ以上であってもよい。
 変形例4のバリュー抽出モデルMには、複数の訓練キーの各々と、当該訓練キーに対応する訓練バリューと、の相対的な位置関係が学習されている。推定文書EDは、複数の推定キーの各々と、当該推定キーに対応する推定バリューと、を含む。これらの点は、実施形態で説明した通りである。変形例4の指定キー取得部104は、複数の指定キーを取得する。例えば、ユーザは、複数の指定キーを指定する。指定キー取得部104は、ユーザ端末20から、複数の指定キーを取得する。複数の指定キーは、ユーザが指定するのではなく、予め定められていてもよい。
 変形例4の抽出部105は、複数の指定キーの各々に基づいて、推定画像EIの中から、複数の推定キーの各々に対応する推定バリューを抽出する。例えば、抽出部105は、実施形態で説明した推定バリューの抽出を、指定キーごとに実行する。抽出部105は、複数の指定キーの各々を、学習済みのバリュー抽出モデルMに次々と入力する。抽出部105は、バリュー抽出モデルMから次々と出力された推定バリューを取得する。
 なお、抽出部105は、複数の指定キーの各々を別々にバリュー抽出モデルMに入力するのではなく、複数の指定キーを一度にまとめてバリュー抽出モデルMに入力してもよい。この場合、バリュー抽出モデルMには、複数の訓練キーと、当該複数の訓練キーの各々に対応する訓練バリューと、の相対的な位置関係が学習されている。バリュー抽出モデルMは、複数の指定キーをまとめて特徴量化し、特徴量に応じた推定結果を出力する。
 変形例4のバリュー抽出システム1は、複数の指定キーの各々に基づいて、推定画像EIの中から、複数の推定キーの各々に対応する推定バリューを抽出する。これにより、1つの推定画像EIの中から、複数の指定キーの各々に対応する推定バリューを抽出できるので、指定キーごとに別々のバリュー抽出モデルMを準備する必要がなくなる。1つの推定画像EIの中に、複数の指定キーの各々に対応する推定バリューが含まれていたとしても、1つのバリュー抽出モデルMで対応できる。
[6-5.変形例5]
 例えば、実施形態では、バリュー抽出モデルMにより推定された推定バリューがユーザ端末20に送信される場合を例に挙げたが、バリュー抽出モデルMにより推定された推定バリューは、他の用途で利用されてもよい。変形例5では、バリュー抽出モデルMにより推定された推定バリューがバリュー抽出モデルMの追加学習で利用される場合を例に挙げる。
 変形例5のバリュー抽出システム1は、追加生成部106及び追加学習部107を含む。追加生成部106は、推定画像EI、指定キー、及び推定バリューに基づいて、バリュー抽出モデルMに学習させる追加の訓練データを生成する。例えば、追加生成部106は、推定画像EIから抽出された推定キーセルの推定キーセル情報に基づいて、追加の訓練データの入力部分を生成する。追加生成部106は、推定バリューを含む推定バリューセルの推定バリューセル情報に基づいて、追加の訓練データの出力部分を生成する。追加生成部106は、当該生成された入力部分及び出力部分を含む追加の訓練データを生成する。
 追加学習部107は、追加の訓練データに基づいて、バリュー抽出モデルMの追加の学習を実行する。追加の学習は、追加の訓練データに基づく学習である。追加の学習自体は、通常の学習と同様であってよい。例えば、追加学習部107は、追加の訓練データの入力部分がバリュー抽出モデルMに入力された場合に、追加の訓練データの出力部分が出力されるように、バリュー抽出モデルMの追加学習を実行する。
 変形例5のバリュー抽出システム1は、推定画像EI、指定キー、及び推定バリューに基づいて、バリュー抽出モデルMに学習させる追加の訓練データを生成する。バリュー抽出システム1は、追加の訓練データに基づいて、バリュー抽出モデルMの追加の学習を実行する。これにより、バリュー抽出システム1は、バリュー抽出モデルMの精度を高めることができる。
[6-6.変形例6]
 例えば、推定キー及び推定バリューの相対的な位置関係は、推定文書EDの言語によって異なることがある。例えば、推定文書EDがアラビア語の場合には、推定キーの左に推定バリューが存在することもある。このため、バリュー抽出モデルMには、複数の言語の各々の訓練文書に含まれる訓練キー及び訓練バリューの相対的な位置関係が学習されていてもよい。変形例6の訓練データの入力部分は、訓練文書の言語に関する訓練言語情報を含む。訓練データの他の部分は、実施形態と同様であってよい。例えば、訓練言語情報は、英語、日本語、韓国語、中国語、又はアラビア語等の言語を示すIDである。
 例えば、訓練データ生成部101は、訓練文書に対する文字認識に基づいて、訓練文書の言語を自動的に特定する。訓練データ生成部101は、文字認識以外の他の手法(例えば、N-gramを利用した手法、又は、機械学習の手法)に基づいて、訓練文書の言語を特定してもよい。バリュー抽出モデルMの作成者が訓練文書の言語を指定してもよい。訓練データ生成部101は、訓練文書の言語の特定結果に基づいて訓練言語情報を生成し、訓練データの入力部分に含める。訓練データの他の部分の生成方法は、実施形態と同様であってよい。学習部102が実行する学習も、実施形態と同様であってよい。訓練データの入力部分が言語識別情報を含むので、バリュー抽出モデルMは、言語ごとに、訓練キー及び訓練バリューの相対的な位置関係の傾向を学習する。
 変形例6のバリュー抽出システム1は、言語特定部108を含む。言語特定部108は、推定文書EDの言語を特定する。例えば、言語特定部108は、訓練データ生成部101と同様に、文字認識又は他の手法に基づいて、推定文書EDの言語を特定する。ユーザが推定文書EDの言語を指定してもよい。言語特定部108は、ユーザ端末20から、ユーザが指定した言語に関する推定言語情報を取得することによって、推定文書EDの言語を特定してもよい。
 変形例6の抽出部105は、推定文書EDの言語に更に基づいて、推定バリューを抽出する。例えば、抽出部105は、バリュー抽出モデルMに対し、推定言語情報、推定セル情報、及び指定キーを入力する。バリュー抽出モデルMは、推定言語情報、推定セル情報、及び指定キーの特徴量を計算し、特徴量に応じた推定結果を出力する。抽出部105は、バリュー抽出モデルMから出力された推定結果に基づいて、推定画像EIの中から、推定バリューを抽出する。
 変形例6のバリュー抽出システム1は、推定文書EDの言語に更に基づいて、推定バリューを抽出する。これにより、推定文書EDの言語に応じた推定が可能になるので、推定バリューの抽出精度が高まる。
[6-7.変形例7]
 例えば、推定キー及び推定バリューの相対的な位置関係は、推定文書EDの全体的なレイアウトの特徴によって異なることがある。日本語の推定文書EDを例に挙げると、縦書きの推定文書EDと、横書きの推定文書EDと、が存在する。他にも例えば、縦方向の向きで印刷された推定文書EDと、横方向の向きで印刷された推定文書EDと、が存在する。他のレイアウトも同様であり、推定文書EDの全体的なレイアウトによって、推定キー及び推定バリューの相対的な位置関係が異なることがある。
 このため、バリュー抽出モデルMには、訓練文書の全体的なレイアウトに関する特徴が学習されていてもよい。変形例7の訓練データの入力部分は、訓練文書の全体的なレイアウトの特徴に関する訓練特徴情報を含む。訓練データの他の部分は、実施形態と同様であってよい。例えば、訓練特徴情報は、縦書き又は横書きといった文字列の向き、縦方向又は横方向といった印刷の向き、フォントサイズ、余白サイズ、行間サイズ、1行あたりの文字数、又は1ページあたりの行数である。
 例えば、訓練データ生成部101は、訓練文書に対する文字認識に基づいて、訓練文書の全体的なレイアウトの特徴を自動的に特定する。訓練データ生成部101は、文字認識以外の他の手法(例えば、領域抽出による手法、線分検出による手法、テンプレートマッチングによる手法、又は機械学習の手法)に基づいて、訓練文書の全体的なレイアウトの特徴を特定してもよい。バリュー抽出モデルMの作成者が訓練文書の全体的なレイアウトの特徴を指定してもよい。
 訓練データ生成部101は、訓練文書の全体的なレイアウトの特徴の特定結果に基づいて訓練特徴情報を生成し、訓練データの入力部分に含める。訓練データの他の部分の生成方法は、実施形態と同様であってよい。学習部102が実行する学習も、実施形態と同様であってよい。訓練データの入力部分が特徴識別情報を含むので、バリュー抽出モデルMは、全体的なレイアウトの特徴ごとに、訓練キー及び訓練バリューの相対的な位置関係の傾向を学習する。
 バリュー抽出システムは、特徴特定部109を含む。特徴特定部109は、推定画像EIの全体的なレイアウトに関する特徴を特定する。例えば、特徴特定部109は、訓練データ生成部101と同様に、文字認識又は他の手法に基づいて、推定文書EDの全体的なレイアウトの特徴を特定する。ユーザが推定文書EDの言語を指定してもよい。特徴特定部109は、ユーザ端末20から、ユーザが指定した全体的なレイアウトの特徴に関する推定特徴情報を取得することによって、推定文書EDの全体的なレイアウトの特徴を特定してもよい。
 変形例7の抽出部105は、推定画像EIの全体的なレイアウトに関する特徴に更に基づいて、推定バリューを抽出する。例えば、抽出部105は、バリュー抽出モデルMに対し、推定特徴情報、推定セル情報、及び指定キーを入力する。バリュー抽出モデルMは、推定特徴情報、推定セル情報、及び指定キーの特徴量を計算し、特徴量に応じた推定結果を出力する。抽出部105は、バリュー抽出モデルMから出力された推定結果に基づいて、推定画像EIの中から、推定バリューを抽出する。
 変形例7のバリュー抽出システム1は、推定画像EIの全体的なレイアウトに関する特徴に更に基づいて、推定バリューを抽出する。これにより、推定文書EDの全体的なレイアウトに応じた推定が可能になるので、推定バリューの抽出精度が高まる。
[6-8.変形例8]
 例えば、実施形態では、訓練キー及び訓練バリューが1対1の関係にある場合を説明したが、訓練キー及び訓練バリューは、1対多の関係にあってもよい。変形例8のバリュー抽出モデルMには、1つの訓練キーと、当該1つの訓練キーに対応する複数の訓練バリューの各々と、の相対的な位置関係が学習されている。変形例8の訓練データの出力部分は、複数の訓練バリューの各々の訓練バリューセル情報を含む。1つの訓練キーに対し、複数の訓練バリューの各々の訓練バリューセル情報が存在する点で実施形態とは異なるが、他の点については実施形態と同様である。
 変形例8の抽出部105は、推定画像EIの中から、1つの指定キーに対応する複数の推定バリューを抽出する。抽出部105が学習済みのバリュー抽出モデルMに入力する入力データは、実施形態と同様である。バリュー抽出モデルMは、入力データの特徴量を計算し、特徴量に応じた推定結果を出力する。バリュー抽出モデルMは、推定結果として、1つの推定キーだけを出力することもあるし、複数の推定キーを出力することもある。抽出部105は、バリュー抽出モデルMから複数の推定キーが出力された場合には、推定画像EIの中から、複数の推定キーを抽出する。
 変形例8のバリュー抽出システム1は、推定画像EIの中から、1つの指定キーに対応する複数の推定バリューを抽出する。これにより、バリュー抽出システム1は、推定キー及び推定バリューが1対多で対応する推定文書EDの中から、複数の推定バリューを抽出できる。
[6-9.変形例9]
 例えば、変形例8において、バリュー抽出モデルMには、1つの訓練キーと、互いに所定の方向に並んだ複数の訓練バリューの各々と、の相対的な位置関係が学習されていてもよい。所定の方向は、上下左右の何れかの方向である。変形例9では、訓練キーの下方向に複数の訓練バリューの各々が並べられているものとする。1つの訓練キーに対して複数の訓練バリューが存在する場合のバリュー抽出モデルMの学習方法は、変形例8と同様であってよい。
 例えば、図2~図4の推定画像EIの例であれば、ユーザが複数の支払方法を併用して支払を行った場合、推定キー「Payment」の右に1つ目の支払方法を示す文字列が1つ目の推定バリューとして印刷され、その下に2つ目以降の支払方法を示す文字列が2つ目以降の推定バリューとして印刷される。このように、ある所定の方向に複数の推定バリューが並んで印刷されることがある。複数の推定バリューは、下方向ではなく、右方向又は上方向に並べられてもよい。
 変形例9の抽出部105は、推定画像EIの中から、1つの指定キーに対応し、かつ、互いに方向に並んだ複数の推定バリューの各々を抽出する。抽出部105の処理は、変形例8と同様であってよい。訓練キーと、所定の方向に並んだ複数の訓練バリューと、の相対的な位置関係がバリュー抽出モデルMに学習されているので、バリュー抽出モデルMは、所定の方向に並んだ複数の複数の推定バリューの各々を、推定結果として出力する。抽出部105は、バリュー抽出モデルMから出力された所定の方向に並んだ複数の複数の推定バリューの各々を、推定画像EIの中から抽出する。
 変形例9のバリュー抽出システム1は、推定画像EIの中から、1つの指定キーに対応し、かつ、互いに方向に並んだ複数の推定バリューの各々を抽出する。これにより、バリュー抽出システム1は、推定キー及び推定バリューが1対多で対応し、かつ、所定の方向に複数の推定バリューが並ぶ推定文書EDの中から、複数の推定バリューを抽出できる。
[6-10.変形例10]
 例えば、変形例9において、抽出部105は、推定画像EIに基づいて、所定の方向においてバリュー抽出モデルMに探索させる探索範囲を決定し、当該探索範囲に基づいて、複数の推定バリューの各々を抽出してもよい。探索範囲は、推定画像EIのうち、推定バリューを抽出する範囲である。抽出部105は、推定画像EIの探索範囲の中から、推定バリューを抽出する。例えば、抽出部105は、探索範囲内にある推定セルの推定セル情報を、バリュー抽出モデルMに入力する。抽出部105は、探索範囲外にある推定セルの推定セル情報は、バリュー抽出モデルMに入力しない。
 抽出部105は、予め定められた決定方法に基づいて、探索範囲を決定すればよい。例えば、抽出部105は、推定画像EIに示された推定文書EDのサイズに基づいて、探索範囲を決定してもよい。この場合、抽出部105は、推定文書EDのサイズが大きいほど探索範囲が広くなるように、探索範囲を決定する。抽出部105は、指定キーに基づいて、探索範囲を決定する。この場合、指定キー及び探索範囲の関係が予めデータ記憶部100に記憶されているものとする。抽出部105は、指定キーに関連付けられた探索範囲を取得することによって、探索範囲を決定する。
 例えば、所定の方向に並ぶ最後の推定キーの後に所定の画像(例えば、線又はマーク)が配置される場合には、抽出部105は、当該画像に基づいて探索範囲を決定してもよい。抽出部105は、パターンマッチング等の手法に基づいて、推定画像EIの中から当該画像を特定し、当該画像までの位置を探索範囲として決定してもよい。抽出部105は。推定画像EIのうち、指定キーと同じ文字列が配置された位置から所定の距離以内の領域を探索範囲として決定してもよい。バリュー抽出モデルMが探索範囲内を推定の対象とする点で実施形態とは異なるが、バリュー抽出モデルMによる推定自体は、実施形態で説明した通りである。
 変形例10のバリュー抽出システム1は、推定画像EIに基づいて、所定の方向においてバリュー抽出モデルMに探索させる探索範囲を決定し、当該探索範囲に基づいて、複数の推定バリューの各々を抽出する。これにより、所定の方向に複数の推定バリューが並ぶ場合の推定バリューの抽出精度が高まる。
[6-11.変形例11]
 例えば、バリュー抽出システム1は、位置関係だけでなく、文字種類(例えば、文字、数字、文字数字混合等)に基づいて推定バリューを抽出するように学習するようにしてもよい。例えば、訓練データの出力部分に、訓練バリューの文字種類を含めるようにしてもよい。
 例えば、訓練データ生成部101は、訓練文書に対する文字認識に基づいて、訓練バリューの文字種類を自動的に特定する。訓練データ生成部101は、文字認識以外の他の手法(例えば、N-gramを利用した手法、又は、機械学習の手法)に基づいて、訓練バリューの文字種類を特定してもよい。バリュー抽出モデルMの作成者が訓練バリューの文字種類を指定してもよい。
 例えば、訓練データ生成部101は、訓練バリューの文字種類の特定結果に基づいて訓練言語情報を生成し、訓練データの出力部分に含める。訓練データの他の部分の生成方法は、実施形態と同様であってよい。学習部102が実行する学習も、実施形態と同様であってよい。訓練データの出力部分が訓練バリューの文字種類の情報を含むので、バリュー抽出モデルMは、訓練キーに対応する訓練バリューの文字種類の傾向も学習する。
[6-12.その他の変形例]
 例えば、上記変形例を組み合わせてもよい。
 例えば、実施形態では、訓練キーの行列と、訓練バリューの行列と、の相対的な位置関係がバリュー抽出モデルMに学習される場合を例に挙げたが、訓練キーの位置を示す座標と、訓練バリューの位置を示す座標と、の相対的な位置関係がバリュー抽出モデルMに学習されていてもよい。この場合、推定セル情報は、推定セルECの座標を含む。抽出部105が学習済みのバリュー抽出モデルMに推定セル情報及び指定キーを入力すると、バリュー抽出モデルMは、推定セルECの座標及び指定キーを特徴量化し、特徴量に応じた推定バリューを出力する。例えば、特に推定セルECが抽出されることなく、バリュー抽出モデルMには、文字列の位置が学習されているようにしてもよい。
 例えば、実施形態では、サーバ10で主な処理が実行される場合を説明したが、サーバ10で実行されるものとして説明した処理は、ユーザ端末20又は他のコンピュータで実行されてもよいし、複数のコンピュータで分担されてもよい。
[7.付記]
 例えば、バリュー抽出システムは、下記のような構成も可能である。
(1)
 推定キー及び推定バリューを含む推定文書が示された推定画像を取得する推定画像取得部と、
 ユーザにより指定された指定キーを取得する指定キー取得部と、
 前記推定画像と、前記指定キーと、訓練画像に示された訓練文書に含まれる訓練キー及び訓練バリューの相対的な位置関係が学習されたバリュー抽出モデルと、に基づいて、前記推定画像の中から前記推定バリューを抽出する抽出部と、
 を含むバリュー抽出システム。
(2)
 前記バリュー抽出モデルには、前記訓練画像における前記訓練キーの行及び列と、前記訓練画像における前記訓練バリューの行及び列と、の相対的な位置関係が学習されており、
 前記抽出部は、
 前記推定画像に対する文字認識の実行結果に基づいて、前記指定キーの行及び列を取得し、
 前記指定キーの行及び列と、前記バリュー抽出モデルと、に基づいて、前記推定バリューを抽出する、
 (1)に記載のバリュー抽出システム。
(3)
 前記バリュー抽出モデルには、前記訓練キーを含む訓練キーセルの位置に関する訓練キーセル情報と、前記訓練バリューを含む訓練バリューセルの位置に関する訓練バリューセル情報と、の相対的な位置関係が学習されており、
 前記抽出部は、
 前記推定画像に対する文字認識に基づいて、前記推定キーを含む推定キーセルの位置に関する推定キーセル情報を取得し、
 前記推定キーセル情報と、前記バリュー抽出モデルと、に基づいて、前記推定バリューを抽出する、
 (1)又は(2)に記載のバリュー抽出システム。
(4)
 前記バリュー抽出モデルには、前記訓練画像における前記訓練キーの位置を基準にして、複数の方向の各々に前記訓練バリューが存在するか否かが学習されており、
 前記抽出部は、前記推定画像における前記指定キーの位置を基準にして、前記複数の方向の各々に前記推定バリューが存在するか否かを前記バリュー抽出モデルに判定させることによって、前記推定バリューを抽出する、
 (1)~(3)の何れかに記載のバリュー抽出システム。
(5)
 前記複数の方向の各々には、優先順位が定められており、
 前記抽出部は、前記推定バリューが存在すると判定された方向が複数存在する場合には、当該複数の方向の各々の前記優先順位に基づいて、前記推定バリューを抽出する、
 (4)に記載のバリュー抽出システム。
(6)
 前記バリュー抽出モデルには、第1の種類の前記訓練文書に含まれる前記訓練キー及び前記訓練バリューの相対的な位置関係が学習されており、
 前記抽出部は、前記第1の種類とは異なる第2の種類の前記推定文書が示された前記推定画像の中から、前記推定バリューを抽出する、
 (1)~(5)の何れかに記載のバリュー抽出システム。
(7)
 前記バリュー抽出モデルには、複数の前記訓練キーの各々と、当該訓練キーに対応する前記訓練バリューと、の相対的な位置関係が学習されており、
 前記推定文書は、複数の前記推定キーの各々と、当該推定キーに対応する前記推定バリューと、を含み、
 前記指定キー取得部は、複数の前記指定キーを取得し、
 前記抽出部は、前記複数の指定キーの各々に基づいて、前記推定画像の中から、前記複数の推定キーの各々に対応する前記推定バリューを抽出する、
 (1)~(6)の何れかに記載のバリュー抽出システム。
(8)
 前記バリュー抽出システムは、
 前記訓練画像に対する文字認識に基づいて、前記訓練キーを含む訓練キーセルの位置に関する訓練キーセル情報と、前記訓練バリューを含む訓練バリューセルの位置に関する訓練バリューセル情報と、を含む訓練データを生成する訓練データ生成部と、
 前記訓練データに基づいて、前記バリュー抽出モデルの学習を実行する学習部と、
 を更に含み、
 前記抽出部は、前記学習部により学習された前記バリュー抽出モデルに基づいて、前記推定バリューを抽出する、
 (1)~(7)の何れかに記載のバリュー抽出システム。
(9)
 前記バリュー抽出システムは、
 前記推定画像、前記指定キー、及び前記推定バリューに基づいて、前記バリュー抽出モデルに学習させる追加の訓練データを生成する追加生成部と、
 前記追加の訓練データに基づいて、前記バリュー抽出モデルの追加の学習を実行する追加学習部と、
 (1)~(8)の何れかに記載のバリュー抽出システム。
(10)
 前記バリュー抽出モデルには、複数の言語の各々の前記訓練文書に含まれる前記訓練キー及び前記訓練バリューの相対的な位置関係が学習されており、
 前記バリュー抽出システムは、前記推定文書の言語を特定する言語特定部を更に含み、
 前記抽出部は、前記推定文書の言語に更に基づいて、前記推定バリューを抽出する、
 (1)~(9)の何れかに記載のバリュー抽出システム。
(11)
 前記バリュー抽出モデルには、前記訓練文書の全体的なレイアウトに関する特徴が学習されており、
 前記バリュー抽出システムは、前記推定画像の全体的なレイアウトに関する特徴を特定する特徴特定部を更に含み、
 前記抽出部は、前記推定画像の全体的なレイアウトに関する特徴に更に基づいて、前記推定バリューを抽出する、
 (1)~(10)の何れかに記載のバリュー抽出システム。
(12)
 前記バリュー抽出モデルには、1つの前記訓練キーと、当該1つの訓練キーに対応する1つの前記訓練バリューと、の相対的な位置関係が学習されており、
 前記抽出部は、前記推定画像の中から、1つの前記指定キーに対応する1つの前記推定バリューを抽出する、
 (1)~(11)の何れかに記載のバリュー抽出システム。
(13)
 前記バリュー抽出モデルには、1つの前記訓練キーと、当該1つの訓練キーに対応する複数の前記訓練バリューの各々と、の相対的な位置関係が学習されており、
 前記抽出部は、前記推定画像の中から、1つの前記指定キーに対応する複数の前記推定バリューを抽出する、
 (1)~(12)の何れかに記載のバリュー抽出システム。
(14)
 前記バリュー抽出モデルには、前記1つの訓練キーと、互いに所定の方向に並んだ前記複数の訓練バリューの各々と、の相対的な位置関係が学習されており、
 前記抽出部は、前記推定画像の中から、前記1つの指定キーに対応し、かつ、互いに前記方向に並んだ前記複数の推定バリューの各々を抽出する、
 (13)に記載のバリュー抽出システム。
(15)
 前記抽出部は、前記推定画像に基づいて、前記方向において前記バリュー抽出モデルに探索させる探索範囲を決定し、当該探索範囲に基づいて、前記複数の推定バリューの各々を抽出する、
 (14)に記載のバリュー抽出システム。

Claims (17)

  1.  推定キー及び推定バリューを含む推定文書が示された推定画像を取得する推定画像取得部と、
     ユーザにより指定された指定キーを取得する指定キー取得部と、
     前記推定画像と、前記指定キーと、訓練画像に示された訓練文書に含まれる訓練キー及び訓練バリューの相対的な位置関係が学習されたバリュー抽出モデルと、に基づいて、前記推定画像の中から前記推定バリューを抽出する抽出部と、
     を含むバリュー抽出システム。
  2.  前記バリュー抽出モデルには、前記訓練画像における前記訓練キーの行及び列と、前記訓練画像における前記訓練バリューの行及び列と、の相対的な位置関係が学習されており、
     前記抽出部は、
     前記推定画像に対する文字認識の実行結果に基づいて、前記指定キーの行及び列を取得し、
     前記指定キーの行及び列と、前記バリュー抽出モデルと、に基づいて、前記推定バリューを抽出する、
     請求項1に記載のバリュー抽出システム。
  3.  前記バリュー抽出モデルには、前記訓練キーを含む訓練キーセルの位置に関する訓練キーセル情報と、前記訓練バリューを含む訓練バリューセルの位置に関する訓練バリューセル情報と、の相対的な位置関係が学習されており、
     前記抽出部は、
     前記推定画像に対する文字認識に基づいて、前記推定キーを含む推定キーセルの位置に関する推定キーセル情報を取得し、
     前記推定キーセル情報と、前記バリュー抽出モデルと、に基づいて、前記推定バリューを抽出する、
     請求項1又は2に記載のバリュー抽出システム。
  4.  前記バリュー抽出モデルには、前記訓練画像における前記訓練キーの位置を基準にして、複数の方向の各々に前記訓練バリューが存在するか否かが学習されており、
     前記抽出部は、前記推定画像における前記指定キーの位置を基準にして、前記複数の方向の各々に前記推定バリューが存在するか否かを前記バリュー抽出モデルに判定させることによって、前記推定バリューを抽出する、
     請求項1又は2に記載のバリュー抽出システム。
  5.  前記複数の方向の各々には、優先順位が定められており、
     前記抽出部は、前記推定バリューが存在すると判定された方向が複数存在する場合には、当該複数の方向の各々の前記優先順位に基づいて、前記推定バリューを抽出する、
     請求項4に記載のバリュー抽出システム。
  6.  前記バリュー抽出モデルには、第1の種類の前記訓練文書に含まれる前記訓練キー及び前記訓練バリューの相対的な位置関係が学習されており、
     前記抽出部は、前記第1の種類とは異なる第2の種類の前記推定文書が示された前記推定画像の中から、前記推定バリューを抽出する、
     請求項1又は2に記載のバリュー抽出システム。
  7.  前記バリュー抽出モデルには、複数の前記訓練キーの各々と、当該訓練キーに対応する前記訓練バリューと、の相対的な位置関係が学習されており、
     前記推定文書は、複数の前記推定キーの各々と、当該推定キーに対応する前記推定バリューと、を含み、
     前記指定キー取得部は、複数の前記指定キーを取得し、
     前記抽出部は、前記複数の指定キーの各々に基づいて、前記推定画像の中から、前記複数の推定キーの各々に対応する前記推定バリューを抽出する、
     請求項1又は2に記載のバリュー抽出システム。
  8.  前記バリュー抽出システムは、
     前記訓練画像に対する文字認識に基づいて、前記訓練キーを含む訓練キーセルの位置に関する訓練キーセル情報と、前記訓練バリューを含む訓練バリューセルの位置に関する訓練バリューセル情報と、を含む訓練データを生成する訓練データ生成部と、
     前記訓練データに基づいて、前記バリュー抽出モデルの学習を実行する学習部と、
     を更に含み、
     前記抽出部は、前記学習部により学習された前記バリュー抽出モデルに基づいて、前記推定バリューを抽出する、
     請求項1又は2に記載のバリュー抽出システム。
  9.  前記バリュー抽出システムは、
     前記推定画像、前記指定キー、及び前記推定バリューに基づいて、前記バリュー抽出モデルに学習させる追加の訓練データを生成する追加生成部と、
     前記追加の訓練データに基づいて、前記バリュー抽出モデルの追加の学習を実行する追加学習部と、
     を更に含む請求項1又は2に記載のバリュー抽出システム。
  10.  前記バリュー抽出モデルには、複数の言語の各々の前記訓練文書に含まれる前記訓練キー及び前記訓練バリューの相対的な位置関係が学習されており、
     前記バリュー抽出システムは、前記推定文書の言語を特定する言語特定部を更に含み、
     前記抽出部は、前記推定文書の言語に更に基づいて、前記推定バリューを抽出する、
     請求項1又は2に記載のバリュー抽出システム。
  11.  前記バリュー抽出モデルには、前記訓練文書の全体的なレイアウトに関する特徴が学習されており、
     前記バリュー抽出システムは、前記推定画像の全体的なレイアウトに関する特徴を特定する特徴特定部を更に含み、
     前記抽出部は、前記推定画像の全体的なレイアウトに関する特徴に更に基づいて、前記推定バリューを抽出する、
     請求項1又は2に記載のバリュー抽出システム。
  12.  前記バリュー抽出モデルには、1つの前記訓練キーと、当該1つの訓練キーに対応する1つの前記訓練バリューと、の相対的な位置関係が学習されており、
     前記抽出部は、前記推定画像の中から、1つの前記指定キーに対応する1つの前記推定バリューを抽出する、
     請求項1又は2に記載のバリュー抽出システム。
  13.  前記バリュー抽出モデルには、1つの前記訓練キーと、当該1つの訓練キーに対応する複数の前記訓練バリューの各々と、の相対的な位置関係が学習されており、
     前記抽出部は、前記推定画像の中から、1つの前記指定キーに対応する複数の前記推定バリューを抽出する、
     請求項1又は2に記載のバリュー抽出システム。
  14.  前記バリュー抽出モデルには、前記1つの訓練キーと、互いに所定の方向に並んだ前記複数の訓練バリューの各々と、の相対的な位置関係が学習されており、
     前記抽出部は、前記推定画像の中から、前記1つの指定キーに対応し、かつ、互いに前記方向に並んだ前記複数の推定バリューの各々を抽出する、
     請求項13に記載のバリュー抽出システム。
  15.  前記抽出部は、前記推定画像に基づいて、前記方向において前記バリュー抽出モデルに探索させる探索範囲を決定し、当該探索範囲に基づいて、前記複数の推定バリューの各々を抽出する、
     請求項14に記載のバリュー抽出システム。
  16.  コンピュータにより実行されるバリュー抽出方法であって、
     推定キー及び推定バリューを含む推定文書が示された推定画像を取得する推定画像取得ステップと、
     ユーザにより指定された指定キーを取得する指定キー取得ステップと、
     前記推定画像と、前記指定キーと、訓練画像に示された訓練文書に含まれる訓練キー及び訓練バリューの相対的な位置関係が学習されたバリュー抽出モデルと、に基づいて、前記推定画像の中から前記推定バリューを抽出する抽出ステップと、
     を含むバリュー抽出方法。
  17.  推定キー及び推定バリューを含む推定文書が示された推定画像を取得する推定画像取得部、
     ユーザにより指定された指定キーを取得する指定キー取得部、
     前記推定画像と、前記指定キーと、訓練画像に示された訓練文書に含まれる訓練キー及び訓練バリューの相対的な位置関係が学習されたバリュー抽出モデルと、に基づいて、前記推定画像の中から前記推定バリューを抽出する抽出部、
     としてコンピュータを機能させるためのプログラム。
PCT/JP2023/013598 2023-03-31 2023-03-31 バリュー抽出システム、バリュー抽出方法、及びプログラム Ceased WO2024202018A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2023/013598 WO2024202018A1 (ja) 2023-03-31 2023-03-31 バリュー抽出システム、バリュー抽出方法、及びプログラム
JP2025509603A JPWO2024202018A1 (ja) 2023-03-31 2023-03-31

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/013598 WO2024202018A1 (ja) 2023-03-31 2023-03-31 バリュー抽出システム、バリュー抽出方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2024202018A1 true WO2024202018A1 (ja) 2024-10-03

Family

ID=92904607

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/013598 Ceased WO2024202018A1 (ja) 2023-03-31 2023-03-31 バリュー抽出システム、バリュー抽出方法、及びプログラム

Country Status (2)

Country Link
JP (1) JPWO2024202018A1 (ja)
WO (1) WO2024202018A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018128996A (ja) * 2017-02-10 2018-08-16 キヤノン株式会社 情報処理装置、制御方法、およびプログラム
JP2021077332A (ja) * 2019-11-05 2021-05-20 キヤノン株式会社 情報処理装置、サーバ、システム、情報処理方法、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018128996A (ja) * 2017-02-10 2018-08-16 キヤノン株式会社 情報処理装置、制御方法、およびプログラム
JP2021077332A (ja) * 2019-11-05 2021-05-20 キヤノン株式会社 情報処理装置、サーバ、システム、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
JPWO2024202018A1 (ja) 2024-10-03

Similar Documents

Publication Publication Date Title
CN111476227B (zh) 基于ocr的目标字段识别方法、装置及存储介质
EP3712812B1 (en) Recognizing typewritten and handwritten characters using end-to-end deep learning
US11348330B2 (en) Key value extraction from documents
JP6507472B2 (ja) 処理方法、処理システム及びコンピュータプログラム
US10049096B2 (en) System and method of template creation for a data extraction tool
CN110442744B (zh) 提取图像中目标信息的方法、装置、电子设备及可读介质
US10572725B1 (en) Form image field extraction
US9384389B1 (en) Detecting errors in recognized text
JP2021082266A (ja) 文書処理のための位置埋め込み
CN112801084A (zh) 图像处理方法及装置、电子设备和存储介质
CN112801099B (zh) 一种图像处理方法、装置、终端设备及介质
WO2021143058A1 (zh) 基于图像的信息比对方法、装置、电子设备及计算机可读存储介质
TW200416583A (en) Definition data generation method of account book voucher and processing device of account book voucher
US12299276B2 (en) Digital ink processing system, method, and program
US20210406453A1 (en) Mapping annotations to ranges of text across documents
CN111340020A (zh) 一种公式识别方法、装置、设备及存储介质
CN116324910A (zh) 用于执行设备上图像到文本转换的方法和系统
CN109726369A (zh) 一种基于标准文献的智能模板化题录技术实现方法
JP7470264B1 (ja) レイアウト解析システム、レイアウト解析方法、及びプログラム
KR102561878B1 (ko) 머신러닝 기반의 ai 블루 ocr 판독 시스템 및 판독 방법
JP6856916B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7507331B1 (ja) レイアウト解析システム、レイアウト解析方法、及びプログラム
WO2024202018A1 (ja) バリュー抽出システム、バリュー抽出方法、及びプログラム
US20250371262A1 (en) Multilingual support using llm for document information extraction
CN115545036A (zh) 文档中的阅读顺序检测

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23930653

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2025509603

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025509603

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23930653

Country of ref document: EP

Kind code of ref document: A1