Information processing device and non-transitory computer readable medium

An information processing device includes a processor programmed to: determine whether a character string indicating a reference to target information is recorded in a range within a document, the target information corresponding to a keyword in the document, the range being determined based on a position of the keyword in the document; and extract the target information upon a determination that the character string is recorded in the range.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2019-172119 filed Sep. 20, 2019.

BACKGROUND

(i) Technical Field

The present disclosure relates to an information processing device and a non-transitory computer readable medium.

(ii) Related Art

Technology that uses key-value extraction technology to extract target information from a document has been disclosed. For example, Japanese Unexamined Patent Application Publication No. 2018-128996 describes a technology that specifies a region containing a keyword, and performs a character recognition process on the specified region to extract a value.

SUMMARY

With the key-value extraction technology of the related art, target information is extracted from nearby the keyword. However, as an example, in a document such as a contract or a complaint, a character string indicating a reference to the target information instead of the target information is recorded nearby a keyword, and the target information itself is recorded in the reference. In this case, because the target information does not exist near the keyword, extraction of the target information may be unsuccessful with the key-value extraction technology of the related art.

Aspects of non-limiting embodiments of the present disclosure relate to extracting target information corresponding to a keyword even in the case where the target information is not recorded in a range determined on the basis of the position of the keyword.

According to an aspect of the present disclosure, there is provided an information processing device including a processor programmed to: determine whether a character string indicating a reference to target information is recorded in a range within a document, the target information corresponding to a keyword in the document, the range being determined based on a position of the keyword in the document; and extract the target information upon a determination that the character string is recorded in the range.

DETAILED DESCRIPTION

FIG. 1is a diagram illustrating one example of a configuration of an image processing device10(one example of an information processing device) according to an exemplary embodiment. The image processing device10includes a scan function, and reads a document. At this time, the image processing device10extracts target information on the basis of a keyword recorded in the document. The target information is also called a value, and is information desired by a user. The target information may include at least one of letters, numerals, symbols, and images. The images may be photographs, seal impressions, or figures. The keyword is a character string that serves as a sign of the target information. The keyword may include at least one of letters, numerals, and symbols. In other words, in the exemplary embodiment, the terms “keyword”, “character string”, and “characters” are used to refer to not only letters, but also numerals and symbols. The target information extracted from the document is used in various processes. For example, in the case where the target information is a deadline, the target information may be used for deadline management. In this case, to keep the user from going past the deadline, the user may be notified when the deadline approaches.

The image processing device10is provided with a processor11, memory12, an image reading unit13, a storage unit14, an operation unit15, and a display16. These hardware elements are connected through a bus17. By executing a program, the processor11controls each unit of the image processing device10and performs a process of extracting target information from a document. For the processor11, a central processing unit (CPU) may be used for example. The memory12stores the program executed by the processor11. For the memory12, read-only memory (ROM) and random access memory (RAM) may be used for example. The image reading unit13reads and converts a document into document data. For the image reading unit13, an image scanner may be used for example. The storage unit14stores document data converted by the image reading unit13. For the storage unit14, a hard disk drive or a solid-state drive (SSD) may be used for example. The operation unit15supplies an operation signal corresponding to an operation by the user to the processor11. For the operation unit15, a touch panel and one or more buttons may be used for example. The display16displays a document according to document data. For the display16, a liquid crystal display may be used for example.

FIG. 2is a diagram illustrating one example of a document. A document20illustrated inFIG. 2is an invoice with multiple pages. The document20includes a first page20a, and a page20btitled “ATTACHMENT”. The description herein anticipates a case where the target information desired by the user is a date indicating a payment deadline.

On the page20a, a keyword21(one example of a first keyword) stating “Payment due by” that serves as a sign of the target information is recorded. In a range (hereinafter referred to as the “nearby range”)22determined on the basis of the position of the keyword21, a character string (hereinafter referred to as the “referral character string”)23stating “See Attachment” that indicates a reference to the payment deadline is recorded. The above indicates that the target information corresponding to the keyword21is recorded on the page20btitled “ATTACHMENT”. Note that although the referral character string23illustrated inFIG. 2includes letters, the referral character string23is not limited to letters, and may include at least one of letters, numerals, and symbols. Herein, the conceivable direction and distance where the target information normally exists as seen from the position of the keyword21are predetermined for the keyword21. The nearby range22is set to the range with a size less than or equal to a predetermined distance extending in a predetermined direction from the position of the keyword21. For example, as illustrated inFIG. 2, the nearby range22may be a range extending up, down, left, and right from the position of the keyword21. Note that the direction and the distance described above may also be different depending on the keyword.

In the upper part of the page20b, a title24stating “ATTACHMENT” in a larger-than-standard font size is recorded. Also, on the page20b, partial keywords25-1and25-2(one example of a second keyword) stating “payment” corresponding to the “Payment due by” keyword21are recorded. In a nearby range26of the partial keyword25-1, a date27stating “Oct. 31, 2018” is recorded.

FIG. 3is a diagram illustrating another example of a document. A document30illustrated inFIG. 3is an invoice with multiple pages. The document30includes a first page30a, a page30btitled “ATTACHMENT 1”, and a page30ctitled “ATTACHMENT 2”. Like the example illustrated inFIG. 2, the description herein anticipates a case where the target information desired by the user is a date indicating a payment deadline.

Similarly to the page20aillustrated inFIG. 2, on the page30a, a keyword31(one example of the first keyword) stating “Payment due by” is recorded. Also, similarly to the page20aillustrated inFIG. 2, in a nearby range32of the keyword31, a referral character string33stating “See Attachment” is recorded. The above indicates that the target information corresponding to the keyword31is recorded on the page30bor30cwhose title includes “ATTACHMENT”.

In the upper part of the page30b, a title34bstating “ATTACHMENT 1” in a larger-than-standard font size is recorded. Also, on the page30b, partial keywords35b-1and35b-2(one example of the second keyword) stating “payment” corresponding to the “Payment due by” keyword31are recorded. In a nearby range36bof the partial keyword35b-1, a date37bstating “Oct. 31, 2018” is recorded.

In the upper part of the page30c, a title34cstating “ATTACHMENT 2” in a larger-than-standard font size is recorded. Also, on the page30c, partial keywords35c-1and35c-2stating “payment” corresponding to the “Payment due by” keyword31are recorded. In a nearby range36cof the partial keyword35c-1, a date37cstating “Nov. 1, 2018” is recorded.

FIGS. 4 and 5are flowcharts illustrating one example of operations by the image processing device10. Note that in the following description, the processor11is described as the agent of the processes, but this means that the processes are performed by the processor11performing calculations or controlling the operations of other hardware elements through cooperation between the program stored in the memory12and the processor11executing the program.

Before the operations are performed, at least one keyword is set by the user. In the example illustrated inFIGS. 4 and 5, first, when a first keyword is detected by searching a document for the keyword in order from the first page, a process of extracting target information corresponding to the keyword is performed. When the target information corresponding to the first keyword is extracted, a similar process is performed for the next keyword. In this way, the process is repeated until target information is extracted for all keywords.

The process illustrated inFIG. 4is started in response to, for example, the user setting a document in the image processing device10and using the operation unit15to perform an instruction operation to start reading the document. In step S11, the processor11causes the image reading unit13to read the document according to the instruction operation.

In step S12, characters recorded in the document read in step S11are recognized. For the character recognition, optical character recognition (OCR) is used for example.

In step S13, the processor11searches a target page of the document for a target keyword. In the initial state, the target page is the first page, and the target keyword is the first keyword. At this point, the first keyword is assumed to be “payment due by”. In this case, the first page is searched for the keyword “payment due by”.

In step S14, it is determined whether or not the target keyword is detected as a result of the search in step S13. In the case where the target keyword is not detected (NO in the determination of step S14), the flow proceeds to step S15, and the processor11determines whether or not the target page is the last page. In the case where the target page is the last page (YES in the determination of step S15), the flow proceeds to step S21illustrated inFIG. 5. On the other hand, in the case where the target page is not the last page (NO in the determination of step S15), the flow proceeds to step S16, and after the processor11sets the next page as the target page, the flow returns to step S13described above. With this arrangement, the process from step S13to S14is repeated for the next page. On the other hand, in the case where the target keyword is detected (YES in the determination of step S14), the flow proceeds to step S17. Also, the target keyword detected in step S14is stored in the memory12.

In step S17, the processor11searches for a referral character string in the nearby range of the target keyword detected in step S14. At this point, the referral character string is assumed to be “See Attachment”. In step S18, the processor11determines whether or not a referral character string is detected as a result of the search in step S17. In the case where the referral character string is not detected (NO in the determination of step S18), the flow proceeds to step S19, and the processor11extracts target information from the nearby range of the target keyword. The target information extracted in step S19is stored in the memory12.

FIG. 6is a diagram illustrating yet another example of a document. A document40illustrated inFIG. 6is an invoice with multiple pages. The document40includes a first page40a. Because a keyword41stating “Payment due by” is recorded on the page40a, the keyword41is detected in step S14described above. Also, a date43stating “Oct. 31, 2018” is recorded inside a nearby range42of the keyword41, but because the referral character string “See Attachment” is not recorded, the referral character string is not detected in step S18described above. At this point, the format of the corresponding target information for the keyword stating “Payment due by” is predetermined to be a date format. In this case, in step S19described above, the date43stating “Oct. 31, 2018” in a date format is extracted as the target information from the nearby range42of the keyword41recorded on the page40a, and stored in the memory12.

On the other hand, in step S18described above, in the case where a referral character string is detected (YES in the determination of step S18), the flow proceeds to step S20, and the processor11performs a process of extracting target information corresponding to the target keyword from the reference indicated by the referral character string detected in step S18. In the example illustrated inFIG. 2, because the keyword21stating “Payment due by” is recorded on the first page20a, the keyword21is detected in step S14described above. Because the referral character string23stating “See Attachment” is recorded inside the nearby range22of the keyword21, the referral character string23is detected in step S18described above. In this case, in step S20described above, the process of extracting the target information corresponding to the target keyword from the reference indicated by the referral character string23is performed.

FIG. 7is a flowchart illustrating one example of the process of extracting target information from a reference performed in step S20. In step S31, the processor11detects a title from each page of the document. Note that the title detection does not necessarily have to be performed for all pages. For example, the title detection may be performed on the page(s) after the target page, and does not have to be performed on the target page. The title detection is performed on the basis of conceivable positions where the title would be recorded on a page, and conceivable font sizes that would be used for the title, for example. In the document20illustrated inFIG. 2, the titles are recorded in a larger-than-standard font size in the upper part of each page. In this case, the character string in a larger-than-standard font size recorded in the upper part of each page is detected as the title. For the page20b, the character string “ATTACHMENT” is detected as the title24. Titles are detected according to a similar method on other pages included in the document20. Note that in the case where a title is not detected, a character string recorded on the first line of the page may also be used. Also, in the case where a title has already been detected in step S12described above, step S31may be skipped.

In step S32, the processor11specifies a reference according to the title detected in step S31. For example, the page having the title corresponding to the referral character string is specified as the reference. The title corresponding to the referral character string may also be a title containing a character string that is at least a part of the referral character string, or a title that resembles the referral character string. In the example illustrated inFIG. 2, the title24on the page20bincludes the character string “ATTACHMENT”, which is part of the referral character string23stating “See Attachment”. In this case, the page20bhaving the title24is specified as the reference.

In step S33, the processor11uses pattern matching to search for the target keyword in the reference specified in step S32. With pattern matching, a partial keyword expressed as a regular expression of the target keyword is used, for example. This is because the keyword may not be recorded in exactly the same way in the reference, and there is a possibility that the keyword is recorded as a different expression. In the example illustrated inFIG. 2, a partial keyword such as “payment” or “due” expressed as a regular expression of the keyword21stating “Payment due by” is used. In this case, the process moves to the page20bof the reference, and a search for the partial keyword is performed.

In step S34, the processor11determines whether or not a pattern of the target keyword is detected. In the case where a pattern of the target keyword is not detected (NO in the determination of step S34), the flow proceeds to step S35, and the processor11determines whether or not the reference is the last page. In the case where the reference is the last page (YES in the determination of step S35), the flow proceeds to step S21illustrated inFIG. 5. On the other hand, in the case where the reference is not the last page (NO in the determination of step S35), the flow proceeds to step S36, and after the processor11sets the next page as the reference, the flow returns to step S33described above. With this arrangement, the process from step S33to S34is repeated for the next page. On the other hand, in step S34described above, in the case where a pattern of the target keyword is detected (YES in the determination of step S34), the flow proceeds to step S37. In the example illustrated inFIG. 2, because the partial keywords25-1and25-2stating “payment” are recorded on the page20b, these partial keywords25-1and25-2are detected. Subsequently, the flow proceeds to step S37.

In step S37, the processor11extracts target information from the nearby range of the partial keyword detected in step S34. The target information extracted in step S37is stored in the memory12. At this point, as described above, the format of the corresponding target information for the keyword stating “Payment due by” is predetermined to be a date format. In this case, in the example illustrated inFIG. 2, the date27stating “Oct. 31, 2018” in a date format is extracted as the target information from the nearby range26of the partial keyword25-1recorded on the page20b, and stored in the memory12.

When the process of extracting target information from the reference ends, the flow proceeds to step S21illustrated inFIG. 5, and the processor11determines whether or not target information corresponding to all keywords has been extracted. In the case where target information corresponding to all keywords has not been extracted (NO in the determination of step S21), the flow proceeds to step S22, and after the processor11sets the next keyword as the target keyword, the flow returns to step S13illustrated inFIG. 4. With this arrangement, the process from step S13to S21described above is repeated for the next keyword. On the other hand, in the case where target information corresponding to all keywords has been extracted (YES in the determination of step S21), the flow proceeds to step S23.

In step S23, the processor11determines whether or not there is one or fewer pieces of target information corresponding to all keywords. For example, in the case where one piece of target information is respectively extracted for all keywords (YES in the determination of step S23), the flow proceeds to step S26. On the other hand, in the case where multiple target information candidates are extracted for at least one keyword (NO in the determination of step S23), the flow proceeds to step S24.

In the example illustrated inFIG. 3, like the example illustrated inFIG. 2, the keyword31stating “Payment due by” recorded on the page30aand the referral character string33stating “See Attachment” recorded in the nearby range32of the keyword31are detected. However, because the title34bon the page30band the title34con the page30cboth include the character string “ATTACHMENT” which is part of the referral character string33, the pages30band30care both specified as references. Additionally, for the page30b, the partial keywords35b-1and35b-2stating “payment” recorded on the page30bare detected, and furthermore, the date37bstating “Oct. 31, 2018” is extracted from the nearby range36bof the partial keyword35b-1. For the page30c, the partial keywords35c-1and35c-2stating “payment” recorded on the page30care detected, and furthermore, the date37cstating “Nov. 1, 2018” is extracted from the nearby range36cof the partial keyword35c-1. In this way, in the case where multiple target information candidates are extracted with respect to a single keyword, the flow proceeds to step S24.

In step S24, the processor11causes the display16to display a selection screen that receives an operation of selecting one piece of target information from among the multiple target information candidates.FIG. 8is a diagram illustrating one example of the selection screen. A selection screen50illustrated inFIG. 8includes two target information candidates extracted with respect to the keyword31stating “Payment due by” illustrated inFIG. 3, namely the date37bstating “Oct. 31, 2018” and the date37cstating “Nov. 1, 2018”, selection buttons51-1and51-2used to select these target information candidates, and an “OK” button52used to confirm the selection. For example, in the case of selecting the date37bstating “Oct. 31, 2018”, the user performs an operation of selecting the date37busing the selection button51-1, and then performs an operation of pressing the “OK” button52. Note that in the case where multiple target information candidates are extracted with respect to multiple keywords, the selection screen may be configured to receive an operation of selecting one piece of target information from among multiple target information candidates for each of the multiple keywords.

In step S25, the processor11selects one piece of target information from among the multiple target information candidates in accordance with an operation by the user. For example, in the case where an operation of selecting the date37bstating “Oct. 31, 2018” is performed as illustrated inFIG. 8, the date37bis selected as the target information. In this case, the date37bselected from among the multiple target information candidates is used as the target information, and the date37cstating “Nov. 1, 2018” does not have to be used.

In step S26, the processor11changes the document such that the target information extracted in step S19or S37is displayed in association with the corresponding keyword, and causes the storage unit14to store the changed document. In the example illustrated inFIG. 2, a link to the page20bis added to the referral character string23stating “See Attachment” recorded on the page20a. For the link, a hyperlink may be used for example. Also, the display format of the document is changed such that the date27stating “Oct. 31, 2018” recorded on the page20bis emphasized. For the emphasizing, highlighting may be used for example. In the case of viewing the document20, the user causes the display16to display the document20. At this time, if the user performs an operation of clicking on the link added to the referral character string23, the page20bis displayed according to the operation, thereby making it easy to view the date27stating “Oct. 31, 2018” that is the target information. Also, document data expressing the document is created and stored in the storage unit14. At this time, attribute information including the pair of the keyword21stating “Payment due by” and the date27stating “Oct. 31, 2018” that is the target information stored in the memory12is added to the document data. For example, in the case where the file format of the document data is Portable Document Format (PDF), the pair of the target keyword and the target information may be included in the PDF attributes.

Also, in the case where the target information is selected in step S25, the document may be changed in step S26such that the target information is displayed in association with the corresponding keyword, and the changed document may be stored in the storage unit14. In the example illustrated inFIG. 3, only a link to the page30bon which the date37bselected as the target information is recorded may be added to the referral character string33stating “See Attachment” recorded on the page30a. In other words, a link to the page30con which the date37cnot selected as target information is recorded does not have to be added. Additionally, the attribute information of the document data may also include only the pair of the keyword31stating “Payment due by” and the date37bstating “Oct. 31, 2018” selected as the target information. In other words, the pair of the keyword31stating “Payment due by” and the date37cstating “Nov. 1, 2018” not selected as the target information does not have to be included in the attribute information. After step S26, the process ends.

According to the exemplary embodiment described above, in the case where a referral character string is recorded in a nearby range of a keyword, target information corresponding to the keyword is extracted from a reference indicated by the referral character string, and therefore the target information corresponding to the keyword is extracted even in the case where the target information is not recorded in the nearby range of the keyword. For example, target information corresponding to the keyword is extracted even in the case where the keyword is recorded on one page and the target information is recorded on another page, as illustrated inFIGS. 2 and 3. Also, because the target information is extracted from the nearby range of a partial keyword recorded in the reference, the time taken to extract the target information is short compared to the case of searching the entire reference for the target information. Furthermore, because a link to the reference in which the target information is recorded is added to the referral character string, the user is able to perform an operation using the link and thereby view the target information in association with the keyword. Furthermore, even in the case where multiple target information candidates corresponding to the keyword are recorded in the reference, by having the user perform an operation of selecting target information from the multiple target information candidates, the piece of target information desired by the user is extracted. In this case, because the link to the reference in which the target information selected from among the multiple target information candidates is recorded is added to the referral character string, the user is able to perform an operation using the link and thereby view the selected target information in association with the keyword.

The exemplary embodiment described above is one example of the present disclosure. The present disclosure is not limited to the exemplary embodiment described above. In addition, the exemplary embodiment described may also be modified like the following examples. At this time, two or more of the following exemplary modifications may also be combined and used.

(1) In the exemplary embodiment described above, the method of changing the document such that the target information is displayed in association with the keyword is not limited to the method that adds a link to the reference. For example, the processor11may also add the target information at a position displayed together with the keyword. The position displayed together with the keyword is a position displayed on the same screen as the keyword, for example. The position may also include a position adjacent to the keyword or the referral character string, for example. In the example illustrated inFIG. 2, the date27stating “Oct. 31, 2018” that is the target information may be recorded in the margin below the referral character string23stating “See Attachment” recorded on the page20a. Alternatively, the date27stating “Oct. 31, 2018” that is the target information may be recorded instead of the referral character string23stating “See Attachment” on the page20aillustrated inFIG. 2. According to the exemplary modification, it is possible to view the keyword and the target information together even in the case where the target information is not recorded in the nearby range of the keyword.

(2) In the exemplary embodiment described above, in the case where multiple target information candidates corresponding to the keyword are recorded in a reference as illustrated inFIG. 3, one of the multiple target information candidates may be selected without an operation by the user. In this case, the processor11decides a confidence of the multiple target information candidates. The confidence is a degree indicating likelihood. A higher confidence indicates a higher probability that a target information candidate is the target information corresponding to the keyword. The confidence may be decided on the basis of, for example, the location where the target information candidate appears, another character string near the target information candidate, a date indicated by the target information candidate, the font size of the target information candidate, or at least one combination of the above. Subsequently, the processor11selects one piece of target information from among the multiple target information candidates according to the confidence. For example, the piece of target information having the highest confidence among the multiple target information candidates may be selected.

In the case where the confidence is decided on the basis of the location where a target information candidate appears, the confidence may be raised for target information candidates appearing earlier in the order of appearance of the target information candidates. In this case, the piece of target information appearing first among the multiple target information candidates is selected.

In the case where the confidence is decided on the basis of another character string near a target information candidate, when a character string having a tendency of not being recorded together with the target information corresponding to a keyword is included within a predetermined distance from the target information candidate, the confidence of the target information candidate may be lowered. Conversely, when a character string having a tendency of being recorded together with the target information corresponding to a keyword is included within a predetermined distance from the target information candidate, the confidence of the target information candidate may be raised. This is because in the case where a character string having a tendency of not being recorded together with the target information corresponding to a keyword is included near a target information candidate, there is a high probability that the target information candidate is not the target information, and conversely, in the case where a character string having a tendency of being recorded together with the target information corresponding to a keyword is included near the target information candidate, there is a high probability that the target information candidate is the target information.

In the case where the confidence is decided on the basis of a date indicated by a target information candidate, the confidence may be raised for target information candidates indicating earlier dates. In this case, the target information indicating the earliest date from among the multiple target information candidates is selected. This is because in the case of performing deadline management using target information, for example, by using the target information indicating the earliest date from among the multiple pieces of target information, the user will be notified before the deadline passes, even in the hypothetical situation in which the selected target information is incorrect.

In the case where the confidence is decided on the basis of the font size of the target information candidate, the confidence may be lowered for target information candidates having a smaller font size. This is because in the case where a target information candidate has a small font size, there is a high probability that the target information candidate is part of a remark or a note for example and is not the target information.

According to the exemplary modification, because one piece of target information is selected from among the multiple target information candidates according to the confidence, a single piece of likely target information is extracted without an operation by the user, even in the case where multiple target information candidates corresponding to the keyword are recorded in a reference.

(3) In the exemplary embodiment described above, in the case where multiple pieces of target information are extracted from multiple references with respect to a single keyword as illustrated inFIG. 3, links to the references may be added to the corresponding referral characters. For example, the numerals “1” and “2” may be added after the referral character string33stating “See Attachment” recorded on the page30a, a link to the page30bmay be added to the numeral “1”, and a link to the page30cmay be added to the numeral “2”. Also, the display format may be changed such that the date37bstating “Oct. 31, 2018” recorded on the page30band the date37cstating “Nov. 1, 2018” recorded on the page30care both emphasized. Furthermore, attribute information including the pair of the keyword31stating “Payment due by” and the date37bstating “Oct. 31, 2018” as well as the pair of the keyword31stating “Payment due by” and the date37cstating “Nov. 1, 2018” may both be added to the document data expressing the document30. According to the exemplary modification, if the user causes the display16to display the document30and performs operations of clicking the links added to the numerals “1” and “2” after the referral character string33, the pages30band30care displayed according to the operations, thereby making it easy to view the dates37band37cwhich are target information candidates. With this configuration, after viewing the dates37band37c, the user may perform an operation of selecting the desired target information from among the target information candidates.

(4) In the exemplary embodiment described above, the keyword and the target information do not necessarily have to be recorded on different pages. For example, location target information distant from the keyword may be recorded on a single page. In a document such as a contract, on a single page, a character string stating “See Section5of the contract” may be recorded in a nearby range of a keyword, and target information corresponding to the keyword may be recorded in Section5in a location outside the nearby range of the keyword in some cases. In this case, the character string stating “See Section5of the contract” acts as the referral character string, and target information is extracted from the reference referred to as “Section5” indicated by the referral character string. In this way, the keyword and the target information may be recorded in different lines, paragraphs, or chapters on a single page.

(5) In the exemplary embodiment described above, pattern matching may also be used in the case of searching for the target keyword in step S13or in the case of searching for the referral character string in step S17illustrated inFIG. 4. For example, in the case of using pattern matching to search for the referral character string in the nearby range of the keyword, even if the character string recorded in the nearby range of the keyword is “See Attachment” or “stipulated in the attachment”, the character strings are extracted as referral character strings.

(6) In the exemplary embodiment described above, the reference does not necessarily have to include a partial keyword. In this case, the entire reference may be searched for the target information.

(7) In the exemplary embodiment described above, the target information is not limited to a date indicating a payment deadline. The target information may be any kind of information that is recorded in a document. For example, in the case where the document is an invoice, the target information may be the date of the invoice, the name of the billing destination or the billing source, or the billed amount. In the case where the document is a contract, the target information may be the date of the contract, the name of a party to the contract, a date indicating a release period or a license period, a payment condition, or the content of a point of dispute. In this case, a character string that serves as a sign of the above target information is used as a keyword. Also, the purpose of the target information is not limited to deadline management. For example, in the case where the target information is the name of the billing destination, a process of storing the document data in a folder whose folder name includes the name may be performed. Also, a process of creating a file in which the pair of the keyword and the target information are recorded in a predetermined format and outputting the file to another system may be performed.

(8) In the embodiment above, the term “processor” refers to hardware in a broad sense. Examples of the processor include general processors (e.g., CPU: Central Processing Unit), dedicated processors (e.g., GPU: Graphics Processing Unit, ASIC: Application Integrated Circuit, FPGA: Field Programmable Gate Array, and programmable logic device).

In the embodiment above, the term “processor” is broad enough to encompass one processor or plural processors in collaboration which are located physically apart from each other but may work cooperatively. The order of operations of the processor is not limited to one described in the embodiment above, and may be changed. For example, the process of changing and storing the document in step S26may be performed next after the process of extracting the target information in step S19or S37. Also, the process of selecting the target information from step S23to step S25may be performed next after the process of extracting the target information in step S19or S37.

(9) In the exemplary embodiment described above, the configuration of the image processing device10is not limited to the example illustrated inFIG. 1. The image processing device10may be provided with other hardware elements, and some of the hardware elements of the image processing device10may also be provided in another device. For example, at least one of the image reading unit13, the storage unit14, the operation unit15, and the display16may be provided in another device. Also, the image processing device10may include a functional configuration that achieves a function of executing the processing in each step performed in the image processing device10. For example, the image processing device10may be provided with a character recognition unit that recognizes characters, a detection unit that detects the keyword, a detection unit that detects the referral character string, an extraction unit that extracts the target information, a display control unit that causes the selection screen to be displayed, a selection unit that selects one piece of target information from among multiple target information candidates, a change unit that changes the document, an addition unit that adds the link, and an addition unit that adds the attribute information. Furthermore, an exemplary embodiment of the present disclosure may also be provided as a method including the steps of the processing performed in the image processing device10.

(10) An exemplary embodiment of the present disclosure may also be provided as a program executed in the image processing device10. The program may be downloaded through a communication channel such as the Internet, or may be provided by being recorded onto a computer readable recording medium such as a magnetic recording medium (such as magnetic tape or a magnetic disk), an optical recording medium (such as an optical disc), a magneto-optical recording medium, or semiconductor memory.