[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2022019275A1 - 文書検索装置、文書検索システム、文書検索プログラム、および文書検索方法 - Google Patents

文書検索装置、文書検索システム、文書検索プログラム、および文書検索方法 Download PDF

Info

Publication number
WO2022019275A1
WO2022019275A1 PCT/JP2021/026992 JP2021026992W WO2022019275A1 WO 2022019275 A1 WO2022019275 A1 WO 2022019275A1 JP 2021026992 W JP2021026992 W JP 2021026992W WO 2022019275 A1 WO2022019275 A1 WO 2022019275A1
Authority
WO
WIPO (PCT)
Prior art keywords
document
character string
likelihood
search
hit
Prior art date
Application number
PCT/JP2021/026992
Other languages
English (en)
French (fr)
Inventor
拓也 南
好成 奥野
Original Assignee
昭和電工株式会社
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 昭和電工株式会社 filed Critical 昭和電工株式会社
Priority to JP2022538005A priority Critical patent/JPWO2022019275A1/ja
Priority to CN202180045775.9A priority patent/CN115917527A/zh
Priority to US18/002,105 priority patent/US20230229683A1/en
Publication of WO2022019275A1 publication Critical patent/WO2022019275A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a document search device, a document search system, a document search program, and a document search method.
  • a document search in which a document is searched based on a keyword specified by a user.
  • a method called an exact match search that extracts a character string that exactly matches a keyword a method called a partial match search that extracts a character string that matches a part of a keyword (for example, Patent Document 1), and It has been known.
  • the exact match search will not extract the character string desired by the user, resulting in omission of the search.
  • the partial match search can comprehensively search the document.
  • the exact match search was excellent in accuracy but lacking in completeness
  • the partial match search was excellent in completeness but lacking in accuracy.
  • An input reception unit that accepts input of document search keywords, Obtain the hit character string that matches the character string in which some characters of the keyword are replaced with wildcards, and the character strings before and after the hit character string from the document.
  • a document search unit that calculates the likelihood of the hit character string based on the hit character string and the character strings before and after the hit character string.
  • a document search device having a search result display unit that outputs a document search result based on the likelihood.
  • the document search according to any one of [1] to [5], wherein the search result display unit displays the hit character string having a likelihood of more than the threshold value and surrounding sentences including the hit character string.
  • the search result display unit further displays an image of a handwritten document corresponding to the hit character string having a likelihood of the threshold value or higher and the surrounding text including the hit character string.
  • Document retrieval device described in. [8] The document search device according to any one of [1] to [7], wherein the search result display unit outputs the document search results in descending order of the likelihood of the hit character string.
  • a document retrieval system including a document retrieval device and a user terminal.
  • the document retrieval device is An input reception unit that accepts input of document search keywords from the user terminal, Obtain the hit character string that matches the character string in which some characters of the keyword are replaced with wildcards, and the character strings before and after the hit character string from the document.
  • a document search unit that calculates the likelihood of the hit character string based on the hit character string and the character strings before and after the hit character string.
  • a document retrieval system including a search result display unit that outputs a document retrieval result to the user terminal based on the likelihood.
  • Computer Input reception unit that accepts input of document search keywords, Obtain the hit character string that matches the character string in which some characters of the keyword are replaced with wildcards, and the character strings before and after the hit character string from the document.
  • a document search unit that calculates the likelihood of the hit character string based on the hit character string and the character strings before and after the hit character string.
  • a program for functioning as a search result display unit that outputs document search results based on the likelihood. [11] This is a method executed by the document retrieval device. Steps to accept input of document search keywords, Obtain the hit character string that matches the character string in which some characters of the keyword are replaced with wildcards, and the character strings before and after the hit character string from the document. A step of calculating the likelihood of the hit character string based on the hit character string and the character strings before and after the hit character string, and A method including a step of outputting the result of a document search based on the likelihood.
  • the present invention can be applied to a document search for searching any one or more documents.
  • the "document” is a document converted from an image of a handwritten document using OCR (Optical character recognition), a document created using document creation software, or the like.
  • OCR Optical character recognition
  • the "document” can contain typographical errors.
  • FIG. 1 is a diagram showing an overall system configuration including a document retrieval device 10 according to an embodiment of the present invention.
  • the document retrieval system 1 includes a document retrieval device 10 and a user terminal 20.
  • the document retrieval device 10 can send and receive data to and from the user terminal 20 via an arbitrary network. Each will be described below.
  • the document search device 10 is a device (for example, a server) that performs document search processing.
  • the document search device 10 has an input receiving unit, a document search unit, and a search result display unit.
  • the document retrieval device 10 can have a character generation model construction unit 100, an input reception unit, a document search unit, and a document search function unit 200 having a search result display unit.
  • the input reception unit, the document search unit, and the search result display unit will be described later.
  • the character generation model construction unit 100 will be described in detail with reference to FIG. 2, and the document retrieval function unit 200 will be described in detail with reference to FIG.
  • the case where the character generation model construction unit 100 and the document search function unit 200 are in one device will be described, but the character generation model construction unit 100 and the document search function unit 200 are in separate devices. There may be.
  • the user terminal 20 is a terminal used when constructing a character generation model and a terminal used when searching a document.
  • the user terminal 20 is a personal computer or the like.
  • the case where the terminal used when constructing the character generation model and the terminal used when searching the document are one terminal will be described, but when constructing the character generation model.
  • the terminal used for searching and the terminal used for searching a document may be different terminals. Further, a plurality of user terminals 20 may be connected to the document retrieval device 10.
  • document retrieval device 10 may have some or all of the functions of the user terminal 20.
  • FIG. 2 is a diagram showing a functional block of the character generation model building unit 100 of the document retrieval device 10 according to the embodiment of the present invention.
  • the character generation model building unit 100 builds a prediction model (also referred to as a character generation model) used by the document retrieval function unit 200.
  • the character generation model construction unit 100 includes an input reception unit 101, a document acquisition unit 102, a character type acquisition unit 103, a sentence reversal unit 104, and a character string cutting unit 105. It can have a learning unit 106, a prediction model storage unit 107, a learning document database (DB) 108, and a character generation model database (DB) 109.
  • DB learning document database
  • DB character generation model database
  • the document retrieval device 10 executes a program to execute an input reception unit 101, a document acquisition unit 102, a character type acquisition unit 103, a sentence reversal unit 104, a character string cutting unit 105, and a learning unit 106. And, it can function as a prediction model storage unit 107.
  • the input receiving unit 101 receives input from the user.
  • the specification of the number of characters in the character string input during machine learning and the specification of the document used for machine learning will be described separately.
  • the input receiving unit 101 accepts the designation of the number of characters in the character string (hereinafter, also referred to as the designated number of characters) to be input when the learning unit 106 performs machine learning.
  • the input receiving unit 101 can receive the designation of the number of characters input by the user to the user terminal 20.
  • the input receiving unit 101 accepts the designation of the document used for machine learning by the learning unit 106 (hereinafter, the document used for machine learning is also referred to as a "learning document").
  • the input receiving unit 101 can receive the designation of the learning document input by the user to the user terminal 20.
  • the learning document is a document containing all the documents in the learning document DB 108 or a document having similar contents to the document that the user wants to search.
  • the document acquisition unit 102 acquires a learning document from the learning document DB 108 according to the designation received by the input reception unit 101. For example, the document acquisition unit 102 acquires all the documents in the learning document DB 108, or selects and acquires a document containing contents similar to the document that the user wants to search in the learning document DB 108.
  • An arbitrary document is stored in the learning document DB 108.
  • the document in the learning document DB 108 and the document in the digital document DB 206 of the document retrieval function unit 200, which will be described later, may be the same, or may be partially or completely different.
  • the document in the learning document DB 108 is a document that does not contain a typographical error.
  • the character type acquisition unit 103 acquires all the character types included in the learning document acquired by the document acquisition unit 102.
  • the character type is used as the output of the prediction by the character generation model. Specifically, the character type acquisition unit 103 acquires all characters from the learning document and creates a set of characters excluding duplicate characters.
  • the sentence reversal unit 104 rearranges the characters included in the learning document acquired by the document acquisition unit 102 so that the order of the character strings is reversed (reversal) (that is, the character at the end of the document is the beginning). , The first letter of the document is the last).
  • a document rearranged so that the order of the character strings is in the reverse order is called a "reverse document”, and a document that is not rearranged so that the order of the character strings is in the reverse order (that is, in the learning document DB 108).
  • the saved document will be referred to as a "sequential document".
  • the character string cutting unit 105 cuts out a set of character strings X and y for machine learning to build a forward character generation model from a learning document (that is, a forward document) acquired by the document acquisition unit 102. Further, the character string cutting unit 105 is a set of character strings X and y for machine learning from a document in which characters are rearranged by the sentence reversing unit 104 (that is, a reverse document) to construct a reverse character generation model. Cut out.
  • X is a character string input to the character generation model
  • y is a character output from the character generation model.
  • the number of characters of X is the number of designated characters accepted by the input receiving unit 101.
  • the character type of y is the character type acquired by the character type acquisition unit 103. In other words, y is any character included in the character set excluding duplicate characters created by the character type acquisition unit 103.
  • FIG. 6 is an example of learning data of the forward character generation model according to the embodiment of the present invention.
  • FIG. 6 is a diagram showing an example of a character string cut out from a sequential document when the number of designated characters is 5. As shown in FIG. 6, let X be a series of five character strings cut out from a sequential document, and let y be one character following it.
  • FIG. 7 is an example of learning data of the reverse character generation model according to the embodiment of the present invention.
  • FIG. 7 is a diagram showing an example of a character string cut out from a reverse document when the designated number of characters is 5. As shown in FIG. 7, let X be five consecutive character strings cut out from the reverse document, and let y be one character following it.
  • the learning unit 106 performs machine learning using a set of character strings X cut out by the character string cutting unit 105 and a set of characters y, and when a character string is input, a character that outputs one character following the character string. Build a generation model.
  • the learning unit 106 performs machine learning using the set of the character strings X and y cut out from the "forward document" by the character string cutting unit 105, and constructs a forward character generation model. Further, the learning unit 106 performs machine learning using the set of the character strings X and y cut out from the "reverse document” by the character string cutting unit 105, and constructs a reverse character generation model.
  • the learning unit 106 provides learning that can handle sequence data such as character strings (for example, Recurrent Neural Network (RNN), Long short-term memory (LSTM), etc.) as a machine learning (deep learning) method. Can be used. Therefore, it can be predicted in consideration of the order of the character strings.
  • RNN Recurrent Neural Network
  • LSTM Long short-term memory
  • the prediction model storage unit 107 stores the forward character generation model constructed by the learning unit 106 and the reverse character generation model in the character generation model DB 109.
  • the character generation model DB 109 stores a forward character generation model and a reverse character generation model.
  • FIG. 3 is a flowchart showing a flow of processing for constructing a character generation model according to an embodiment of the present invention.
  • step 100 the input receiving unit 101 accepts the designation of the number of characters in the character string to be input when the learning unit 106 performs machine learning.
  • the input receiving unit 101 can receive the designation of the number of characters input by the user to the user terminal 20.
  • the input receiving unit 101 accepts the designation of the learning document used by the learning unit 106 for machine learning.
  • the input receiving unit 101 can receive the designation of the learning document input by the user to the user terminal 20.
  • step 101 (S101) the document acquisition unit 102 acquires a learning document from the learning document DB 108 according to the designation accepted by the input receiving unit 101. For example, the document acquisition unit 102 sequentially acquires all the learning documents in the learning document DB 108, or selects a document containing contents similar to the document that the user wants to search in the learning document DB 108, and the selected learning. If there are multiple selected learning documents for the documents, they are acquired sequentially.
  • step 102 the character type acquisition unit 103 acquires all the character types included in the learning document acquired by the document acquisition unit 102 in S101.
  • step 103 the cutout for constructing the forward character generation model
  • step 104 and step 105 the cutout for constructing the reverse character generation model
  • step 103 the character string cutting unit 105 sets a set of character strings X and y for machine learning from the learning document acquired by the document acquisition unit 102 in S101 to construct a forward character generation model. break the ice.
  • the number of characters in the character string X is the number of designated characters accepted in S100.
  • step 104 the sentence reversing unit 104 rearranges the characters included in the learning document acquired by the document acquisition unit 102 in S101 so that the order of the character strings is reversed (reversed).
  • step 105 the character string cutting unit 105 uses the character strings X and y for machine learning from the document in which the sentence reversing unit 104 reverses the order of the character strings in S104 to construct a reverse character generation model. Cut out a pair with.
  • the number of characters in the character string X is the number of designated characters accepted in S100.
  • step 106 the character string cutting unit 105 determines whether or not the cutting process has been completed for all the learning documents targeted to be acquired by the document acquisition unit 102 in S101. If it is completed, the process proceeds to step 107 and step 108, respectively, and if it is not completed, the process returns to step 101.
  • step 107 the construction of the forward character generation model (step 107) and the construction of the reverse character generation model (step 108) will be described separately.
  • step 107 the learning unit 106 performs machine learning using the set of the character strings X and y cut out from the "forward document" by the character string cutting unit 105 in S103, and constructs a forward character generation model.
  • step 108 the learning unit 106 performs machine learning using the set of the character strings X and y cut out from the "reverse document" by the character string cutting unit 105 in S105, and constructs a reverse character generation model.
  • step 109 the prediction model storage unit 107 converts the forward character generation model constructed by the learning unit 106 in S107 and the reverse character generation model constructed by the learning unit 106 in S108 into the character generation model DB 109. save.
  • FIG. 4 is a diagram showing a functional block of the document search function unit 200 of the document search device 10 according to the embodiment of the present invention.
  • the document retrieval function unit 200 performs document retrieval processing using the prediction model (character generation model) constructed by the character generation model construction unit 100.
  • the document search function unit 200 includes an input reception unit 201, a document acquisition unit 202, a character generation model acquisition unit 203, a document search unit 204, a search result display unit 205, and the like. It can have a digital document database (DB) 206 and a character generation model database (DB) 207.
  • the document search function unit 200 may execute the program to form an input reception unit 201, a document acquisition unit 202, a character generation model acquisition unit 203, a document search unit 204, and a search result display unit 205.
  • the input receiving unit 201 receives input from the user.
  • the document that the user wants to search the keyword that the user wants to search, the ratio or number of wildcards that can be replaced with the characters in the keyword, the number of characters in the character string input to the character generation model, the likelihood threshold, and so on. It will be explained separately.
  • the input reception unit 201 accepts the designation of one or more documents that the user wants to search.
  • the input receiving unit 201 can receive the designation of one or a plurality of documents input by the user to the user terminal 20.
  • a search is performed in one or more documents specified by the user based on the keyword specified by the user.
  • the input reception unit 201 accepts the designation of the keyword that the user wants to search.
  • the input receiving unit 201 can receive the designation of the keyword input by the user to the user terminal 20.
  • the characters in the keyword specified by the user are replaced with wildcards to search the document.
  • the input reception unit 201 accepts the ratio of the number of wildcard characters to the number of keyword characters, or the designation of the number of wildcard characters. For example, the input receiving unit 201 can receive the designation of the wildcard ratio or the number of characters input by the user to the user terminal 20.
  • Wildcards are special characters such as asterisks and question marks that are replaced with the characters in the keyword. In the search, wildcards are considered to match any character.
  • the input receiving unit 201 accepts the designation of the number of characters in the character string input to the character generation model. Specifically, the input receiving unit 201 can receive the designation of the number of characters input by the user to the user terminal 20.
  • the input receiving unit 201 accepts the designation of the threshold value of the likelihood (details will be described later). Specifically, the input receiving unit 201 can receive the designation of the likelihood threshold value input by the user to the user terminal 20.
  • the document acquisition unit 202 acquires one or more documents that the user wants to search from the digital document DB 206 according to the designation received by the input reception unit 101.
  • Arbitrary documents are stored in the digital document DB 206.
  • the document in the digital document DB 206 and the document in the learning document DB 108 of the character generation model construction unit 100 may be the same, or may be partially or completely different.
  • the document in the digital document DB 206 is a document containing a typographical error.
  • the character generation model acquisition unit 203 acquires a forward character generation model and a reverse character generation model from the character generation model DB 207.
  • the character generation model DB 207 stores a forward character generation model and a reverse character generation model constructed by the character generation model construction unit 100.
  • the document search unit 204 generates (1) a character string including a wildcard from the keyword for all the documents acquired by the document acquisition unit 202, and (2) uses the character string including the wildcard to create a document. Search, get the part where the character string including the wildcard hits (hit character string) and the character strings before and after it, and (3) use the character string before the hit character string and the forward character generation model. Calculate the likelihood of the hit string (forward likelihood), and (4) the likelihood of the hit string (reverse likelihood) using the string after the hit string and the reverse character generation model. (5) The average of the forward likelihood and the reverse likelihood is calculated as the effective likelihood of the hit character string.
  • hit character string the wildcard hits
  • the character strings before and after it and (3) use the character string before the hit character string and the forward character generation model.
  • the document search unit 204 replaces some characters of the keyword accepted by the input reception unit 201 with a wild card to generate a character string including a wild card.
  • the number of characters to be replaced with wildcards is determined based on the ratio of wildcards accepted by the input receiving unit 201 or the number of characters.
  • the document search unit 204 searches all the documents acquired by the document acquisition unit 202 using the character strings including wildcards, and the characters including wildcards. Get the character string before and after the place where the column hits (the character string that matches the character string including the wildcard is also called "hit character string"). That is, the document search unit 204 includes a character string (hit character string) that matches the character string including the wildcard, a character string located before the hit character string, and a character string located after the hit character string. , To get.
  • the number of characters in the character string before and after being acquired together with the hit character string is the number of characters in the character string input to the character generation model accepted by the input receiving unit 201, respectively.
  • the document search unit 204 creates a character string (hereinafter referred to as an input character string) to be input to the forward character generation model using the character string before the hit character string, and hits. Calculate the likelihood of a string. Specifically, the forward likelihood is calculated assuming that the hit character string is a search keyword.
  • the document retrieval unit 204 inputs the character string before the hit character string into the forward character generation model, and calculates the likelihood of the first character of the hit character string. Subsequently, the document search unit 204 adds the first character of the hit character string to the end of the input character string, inputs the character string excluding the first character of the input character string to the forward prediction model, and inputs the hit character string. Calculate the likelihood of the second character counting from the beginning of. The document retrieval unit 204 performs this processing on all the characters included in the hit character string. The average value of the likelihoods of all the characters included in the hit character string calculated in this way is taken as the forward likelihood of the hit character string. The method of averaging is not limited, but it is desirable to use an arithmetic mean.
  • the document search unit 204 reverses the character string after the hit character string (that is, the characters are rearranged so that the order of the character strings is reversed). Using this, a character string to be input to the reverse character generation model (hereinafter referred to as an input character string) is created, and the likelihood of the hit character string is calculated. Specifically, the reverse likelihood is calculated assuming that the hit character string is a search keyword.
  • the document retrieval unit 204 inputs the inverted character string after the hit character string into the reverse character generation model, and calculates the likelihood of the character at the end of the hit character string. Subsequently, the document search unit 204 adds the last character of the hit character string to the end of the input character string, inputs the character string excluding the first character of the input character string to the reverse direction prediction model, and inputs the hit character string. Calculate the likelihood of the second character counting from the end of. The document retrieval unit 204 performs this processing on all the characters included in the hit character string. The average value of the likelihoods of all the characters included in the hit character string calculated in this way is taken as the reverse likelihood of the hit character string. The method of averaging is not limited, but it is desirable to use an arithmetic mean.
  • the document retrieval unit 204 calculates the average value of the forward likelihood and the reverse likelihood as the effective likelihood of the hit character string.
  • the method of averaging is not limited, but it is desirable to use an arithmetic mean.
  • FIG. 8 is a diagram for explaining a search according to an embodiment of the present invention.
  • the keyword that the user wants to search for is "Congratulations”.
  • some characters of the keyword “Congratulations” are replaced with wildcards, and as keywords including wildcards, "Congratulations *", “Congratulations * u”, “Congratulations * soda”, “Congratulations *” Finally “,” * soda "are generated.
  • the hit character string "Odeto” is searched.
  • the character string “Akemashite” before the hit character string “Adeto” is acquired to calculate the forward likelihood, and the character string “Are” after the hit character string “Adeto” is It is acquired and the reverse likelihood is calculated.
  • FIG. 9 is a diagram for explaining the calculation of the likelihood according to the embodiment of the present invention.
  • the keyword that the user wants to search for is "Congratulations”.
  • the hit character string "Odeto” is searched.
  • the character string "Akemashite” before the hit character string “Adeto” and the character string “Are” after the hit character string “Adeto” are acquired.
  • the forward likelihood and the reverse likelihood are calculated, and the average likelihood obtained by averaging both is the effective likelihood.
  • the forward likelihood will be explained.
  • the likelihood is calculated assuming that the hit character string is a search keyword.
  • the likelihood is calculated in the same manner as in the case of the forward likelihood described above. Calculate the likelihood when "U” follows “Sumai Zago” (assuming it is 100%). Also, the likelihood when “Maizago” is followed by “and” is calculated (assuming it is 100%). In addition, the likelihood when “Izagoto” is followed by “” is calculated (assuming that it is 100%). In addition, the likelihood of "Zagoto de” followed by "me” is calculated (assuming that it is 95%). In addition, the likelihood when "O” follows “Gotodeme” is calculated (assuming that it is 100%). And the average of all the likelihoods (that is, the likelihood of "u”, the likelihood of "and”, the likelihood of "in”, the likelihood of "me”, and the likelihood of "o) is the reverse likelihood. (Reverse mean likelihood).
  • the average of the forward likelihood and the reverse likelihood is the effective likelihood (average likelihood).
  • the search result display unit 205 outputs the search result. Specifically, the search result display unit 205 displays a document whose effective likelihood calculated by the document search unit 204 is equal to or higher than the threshold value of the likelihood specified by the user on the screen of the user terminal 20.
  • the search result display unit 205 can display the hit character string and the text around it. Further, for example, in the case of a document converted from an image of a handwritten document using OCR, the search result display unit 205 searches for an image of the handwritten document together with a document having an effective likelihood of equal to or higher than a threshold value. Can be displayed as. Further, for example, the search result display unit 205 can display documents in descending order of effective likelihood.
  • FIG. 5 is a flowchart showing a flow of a document search process according to an embodiment of the present invention.
  • step 200 (S200) the input receiving unit 201 accepts the designation of the keyword that the user wants to search.
  • the input receiving unit 201 can receive the designation of the keyword input by the user to the user terminal 20.
  • step 201 the character generation model acquisition unit 203 acquires a forward character generation model and a reverse character generation model from the character generation model DB 207.
  • step 202 the document acquisition unit 202 acquires one or more documents that the user wants to search from the digital document DB 206 according to the designation accepted by the input reception unit 201.
  • step 203 the document search unit 204 searches the document of S202 using the character string including the wildcard generated from the keyword of S200, obtains a hit character string, and reverses the forward character generation model. Using the character generation model, the average of the forward likelihood and the reverse likelihood of the hit character string is calculated as the effective probability of the hit character string.
  • step 204 the document search unit 204 determines whether or not the search process for all the documents acquired by the document acquisition unit 202 in S202 has been completed. If it is completed, the process proceeds to step 205, and if it is not completed, the process returns to step 202.
  • step 205 the search result display unit 205 determines whether or not there is a document whose effective likelihood calculated by the document search unit 204 in S203 is equal to or greater than the threshold value of the likelihood specified by the user. If there is a document, the process proceeds to step 206, and if there is no document, the process proceeds to step 210. In step 210 (S210), the search result display unit 205 outputs a notification indicating that the corresponding document does not exist, and ends the process.
  • step 206 the search result display unit 205 acquires the surrounding text including the hit character string.
  • step 207 the search result display unit 205 displays the surrounding text including the hit character string as the output of the acquired result.
  • step 208 the search result display unit 205 determines whether or not the user has accepted the instruction to display the image of the handwritten document converted into the document by using OCR and the selection of the text. If it is accepted, the process proceeds to step 209, and if it is not accepted, the process ends.
  • step 209 the search result display unit 205 displays an image of a handwritten document corresponding to the sentence selected in S208.
  • the keywords are Hosono-kun (107), Soba (6), Katsuobushi (10), Labyrinth-kun (64), Yamato-damashii (7), Furoshiki (6), Nervous weakness (6), and Damdam bullets (6). 4), champagne (6), and violin (61) were used.
  • the numbers in parentheses represent the number of paragraphs that each contain the keyword.
  • LSTM search ⁇ Document search by document search device 10 (LSTM search)>
  • LSTM search Long short-term memory
  • the LSTM learning was performed by TensorFlow®, a software library for use in machine learning.
  • the number of learning epochs was 200.
  • the number of characters in the character string to be input was 8 characters.
  • Precision is a value calculated by dividing the number of correct documents hit by the search by the total number of documents hit by the search, and can be regarded as an index showing the accuracy of the search.
  • "Recall” is a value calculated by dividing the number of correct answer documents hit by the search by the number of all correct answer documents, and can be regarded as an index showing the completeness of the search.
  • the “F value” is a value calculated by the harmonic mean of "Precision” and “Recall”, and can be regarded as an index showing the balance between the accuracy and completeness of the search.
  • a wildcard ratio wildcard ratio
  • a threshold value of the effective likelihood of the hit character string as hyperparameters that affect the search accuracy. ..
  • 50% of the paragraphs in the document are used as training data, and the hyperparameters are tuned so that the "F value" in the training document is the highest.
  • the wildcard ratio was 0.6
  • the threshold value of the effective likelihood of the hit character string was 0.8.
  • a document search was performed using a character string containing wildcards.
  • a document search was performed using the remaining 50% of paragraphs other than the training data as test data, and the search accuracy was evaluated. If the keyword did not exist in the test data, the keyword was excluded and the search accuracy was evaluated.
  • Comparative Example 1 ⁇ Comparison example 1 (keyword search)>
  • a document search was performed using only keywords (that is, an exact match search) without using wildcards or valid likelihoods.
  • search accuracy was evaluated by the same procedure as ⁇ Document search by the document search device 10 (LSTM search)>.
  • FIG. 10 is a diagram for comparing search accuracy according to an embodiment of the present invention.
  • FIG. 10 is a diagram showing the document search by the document search device 10 of the present invention and the search accuracy between Comparative Example 1 and Comparative Example 2.
  • both the “average Precision” and the “average recall” are well-balanced and high numerical values.
  • the "average F value” is higher than that of the comparative example. From the above results, by using the document retrieval device 10 described in the present specification, both the accuracy and completeness of the document retrieval can be improved in a well-balanced manner.
  • the character string extracted by the document search device by the search using the character string including the wild card so that the human can judge whether or not the character is a typographical error by guessing from the context. It is possible to calculate the plausibility of. Therefore, even if the document contains a typographical error, the desired document can be obtained accurately and comprehensively.
  • the likelihood differs depending on whether the likelihood is calculated from the front or the back.
  • FIG. 11 is a hardware configuration diagram of a document retrieval device 10 and a user terminal 20 according to an embodiment of the present invention.
  • the document search device 10 and the user terminal 20 have a CPU (Central Processing Unit) 1001, a ROM (Read Only Memory) 1002, and a RAM (Random Access Memory) 1003.
  • the CPU 1001, ROM 1002, and RAM 1003 form a so-called computer.
  • the document retrieval device 10 and the user terminal 20 can have an auxiliary storage device 1004, a display device 1005, an operation device 1006, an I / F (Interface) device 1007, and a drive device 1008.
  • the hardware of the document retrieval device 10 and the user terminal 20 are connected to each other via the bus B.
  • the CPU 1001 is an arithmetic device that executes various programs installed in the auxiliary storage device 1004.
  • ROM 1002 is a non-volatile memory.
  • the ROM 1002 functions as a main storage device for storing various programs, data, and the like necessary for the CPU 1001 to execute various programs installed in the auxiliary storage device 1004.
  • the ROM 1002 functions as a main storage device for storing boot programs such as BIOS (Basic Input / Output System) and EFI (Extensible Firmware Interface).
  • RAM 1003 is a volatile memory such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory).
  • the RAM 1003 functions as a main storage device that provides a work area to be expanded when various programs installed in the auxiliary storage device 1004 are executed by the CPU 1001.
  • the auxiliary storage device 1004 is an auxiliary storage device that stores various programs and information used when various programs are executed.
  • the display device 1005 is a display device that displays the internal state of the document retrieval device 10 and the user terminal 20.
  • the operation device 1006 is an input device in which a person who operates the document search device 10 and the user terminal 20 inputs various instructions to the document search device 10 and the user terminal 20.
  • the I / F device 1007 is a communication device for connecting to a network and communicating with other devices.
  • the drive device 1008 is a device for setting the recording medium 1009.
  • the recording medium 1009 referred to here includes a medium such as a CD-ROM, a flexible disk, a magneto-optical disk, or the like, which records information optically, electrically, or magnetically. Further, the recording medium 1009 may include a semiconductor memory for electrically recording information such as an EPROM (ErasableProgrammableReadOnlyMemory) and a flash memory.
  • EPROM ErasableProgrammableReadOnlyMemory
  • the various programs installed in the auxiliary storage device 1004 are installed, for example, by setting the distributed recording medium 1009 in the drive device 1008 and reading the various programs recorded in the recording medium 1009 by the drive device 1008. Will be done.
  • various programs installed in the auxiliary storage device 1004 may be installed by being downloaded from the network via the I / F device 1007.
  • Document retrieval system 10
  • Document retrieval device 20
  • User terminal 100 Character generation model construction unit 200
  • Document retrieval function unit 101
  • Input reception unit 102
  • Document acquisition unit 103
  • Character type acquisition unit 104
  • Sentence reversal unit 105
  • Character string cutting unit 106
  • Learning unit 107
  • Prediction model Storage unit 108
  • Learning document DB 109 character generation model DB
  • Input reception unit 202
  • Document acquisition unit 203 Character generation model acquisition unit 204
  • Search result display unit 206
  • Digital document DB 207 character generation model DB
  • CPU 1002
  • ROM 1003 RAM
  • Auxiliary storage device 1005
  • Display device 1006
  • Operation device 1007 I / F device 1008 Drive device 1009
  • Recording medium 100

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

文書検索の正確性と網羅性の均衡を保ち精度を向上させる。本発明の一実施形態に係る文書検索装置は、文書検索のキーワードの入力を受け付ける入力受付部と、前記キーワードの一部の文字をワイルドカードに置換した文字列と一致するヒット文字列、および、前記ヒット文字列の前後の文字列を文書から取得し、前記ヒット文字列、および、前記ヒット文字列の前後の文字列に基づいて、前記ヒット文字列の尤度を算出する、文書検索部と、前記尤度に基づいて文書検索の結果を出力する検索結果表示部と、を有する。

Description

文書検索装置、文書検索システム、文書検索プログラム、および文書検索方法
 本願は、日本特許庁に2020年7月22日に出願された基礎出願2020-125341号の優先権を主張するものであり、その全内容を参照によりここに援用する。
 本発明は、文書検索装置、文書検索システム、文書検索プログラム、および文書検索方法に関する。
 従来、ユーザが指定したキーワードをもとに文書を検索する文書検索が知られている。文書検索では、キーワードと完全に一致する文字列を抽出する完全一致検索と呼ばれる手法と、キーワードの一部と一致する文字列を抽出する部分一致検索と呼ばれる手法(例えば、特許文献1)と、が知られている。
 例えば、文書が誤字を含む場合、完全一致検索では、ユーザが望む文字列が抽出されず、検索漏れが生じてしまう。一方、部分一致検索では、文書内を網羅的に検索することができる。
特許6374289号公報
 しかしながら、部分一致検索では、文字列がキーワードの一部にさえ一致すれば抽出されるので、キーワードとは無関係な文字列が抽出されてしまうことがあった。つまり、完全一致検索は正確性に優れているが網羅性に欠け、部分一致検索は網羅性に優れているが正確性に欠けていた。
 そこで、本発明では、文書検索の正確性と網羅性の均衡を保ち精度を向上させることを目的とする。
[1]文書検索のキーワードの入力を受け付ける入力受付部と、
 前記キーワードの一部の文字をワイルドカードに置換した文字列と一致するヒット文字列、および、前記ヒット文字列の前後の文字列を文書から取得し、
 前記ヒット文字列、および、前記ヒット文字列の前後の文字列に基づいて、前記ヒット文字列の尤度を算出する、文書検索部と、
 前記尤度に基づいて文書検索の結果を出力する検索結果表示部と
 を有する、文書検索装置。
[2]前記文書検索部は、順方向の尤度をもとに前記ヒット文字列の尤度を算出する、[1]に記載の文書検索装置。
[3]前記文書検索部は、順方向の尤度および逆方向の尤度をもとに前記ヒット文字列の尤度を算出する、[1]に記載の文書検索装置。
[4]前記文書検索部は、前記ヒット文字列の各文字の尤度をもとに前記ヒット文字列の尤度を算出する、[1]から[3]のいずれかに記載の文書検索装置。
[5]前記文書検索部は、前記ヒット文字列のうち前記ワイルドカードではない文字の尤度を100パーセントとみなす、[4]に記載の文書検索装置。
[6]前記入力受付部は、前記ヒット文字列の尤度の閾値の入力を受け付け、
 前記検索結果表示部は、前記閾値以上の尤度である前記ヒット文字列、および、前記ヒット文字列を含む周辺の文章を表示する、[1]から[5]のいずれかに記載の文書検索装置。
[7]前記検索結果表示部は、前記閾値以上の尤度である前記ヒット文字列、および、前記ヒット文字列を含む周辺の文章、に対応する手書き文書の画像をさらに表示する、[6]に記載の文書検索装置。
[8]前記検索結果表示部は、前記ヒット文字列の尤度が高い順に前記文書検索の結果を出力する、[1]から[7]のいずれかに記載の文書検索装置。
[9]文書検索装置とユーザ端末とを含む文書検索システムであって、
 前記文書検索装置は、
 文書検索のキーワードの入力を前記ユーザ端末から受け付ける入力受付部と、
 前記キーワードの一部の文字をワイルドカードに置換した文字列と一致するヒット文字列、および、前記ヒット文字列の前後の文字列を文書から取得し、
 前記ヒット文字列、および、前記ヒット文字列の前後の文字列に基づいて、前記ヒット文字列の尤度を算出する、文書検索部と、
 前記尤度に基づいて文書検索の結果を前記ユーザ端末に出力する検索結果表示部と、を有する、文書検索システム。
[10]コンピュータを、
 文書検索のキーワードの入力を受け付ける入力受付部、
 前記キーワードの一部の文字をワイルドカードに置換した文字列と一致するヒット文字列、および、前記ヒット文字列の前後の文字列を文書から取得し、
 前記ヒット文字列、および、前記ヒット文字列の前後の文字列に基づいて、前記ヒット文字列の尤度を算出する、文書検索部、
 前記尤度に基づいて文書検索の結果を出力する、検索結果表示部
 として機能させるためのプログラム。
[11]文書検索装置が実行する方法であって、
 文書検索のキーワードの入力を受け付けるステップと、
 前記キーワードの一部の文字をワイルドカードに置換した文字列と一致するヒット文字列、および、前記ヒット文字列の前後の文字列を文書から取得し、
 前記ヒット文字列、および、前記ヒット文字列の前後の文字列に基づいて、前記ヒット文字列の尤度を算出するステップと、
 前記尤度に基づいて文書検索の結果を出力するステップと
 を含む方法。
 本発明では、文書検索の正確性と網羅性の均衡を保ち精度を向上させることができる。
本発明の一実施形態に係る文書検索装置を含む全体のシステム構成を示す図である。 本発明の一実施形態に係る文書検索装置の文字生成モデル構築部の機能ブロックを示す図である。 本発明の一実施形態に係る文字生成モデルの構築の処理の流れを示すフローチャートである。 本発明の一実施形態に係る文書検索装置の文書検索機能部の機能ブロックを示す図である。 本発明の一実施形態に係る文書の検索の処理の流れを示すフローチャートである。 本発明の一実施形態に係る順方向文字生成モデルの学習データの一例である。 本発明の一実施形態に係る逆方向文字生成モデルの学習データの一例である。 本発明の一実施形態に係る検索を説明するための図である。 本発明の一実施形態に係る尤度の算出を説明するための図である。 本発明の一実施形態に係る検索精度を比較するための図である。 本発明の一実施形態に係る文書検索装置、ユーザ端末のハードウェア構成を示す図である。
 以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
<用語の説明>
 本発明は、任意の1つまたは複数の文書を検索する文書検索に適用することができる。例えば、「文書」は、OCR(Optical character recognition)を用いて手書きの文書の画像から変換された文書、文書作成ソフトウェアを用いて作成された文書等である。「文書」は、誤字を含みうる。
<システム構成>
 図1は、本発明の一実施形態に係る文書検索装置10を含む全体のシステム構成を示す図である。図1に示されているように、文書検索システム1は、文書検索装置10と、ユーザ端末20と、を含む。文書検索装置10は、任意のネットワークを介してユーザ端末20とデータを送受信することができる。以下、それぞれについて説明する。
 文書検索装置10は、文書検索の処理を行う装置(例えば、サーバ)である。文書検索装置10は、入力受付部と、文書検索部と、検索結果表示部と、を有する。具体的には、文書検索装置10は、文字生成モデル構築部100と、入力受付部と、文書検索部と、検索結果表示部とを有する文書検索機能部200と、を有することができる。入力受付部、文書検索部および検索結果表示部は後述する。後段で、図2を参照しながら文字生成モデル構築部100について詳細に説明し、図4を参照しながら文書検索機能部200について詳細に説明する。なお、本明細書では、文字生成モデル構築部100と文書検索機能部200とが1つの装置にある場合を説明するが、文字生成モデル構築部100と文書検索機能部200とが別々の装置にあってもよい。
 ユーザ端末20は、文字生成モデルを構築するときに利用する端末、および、文書を検索するときに利用する端末である。例えば、ユーザ端末20は、パーソナルコンピュータ等である。なお、本明細書では、文字生成モデルを構築するときに利用する端末と、文書を検索するときに利用する端末と、が1つの端末である場合を説明するが、文字生成モデルを構築するときに利用する端末と、文書を検索するときに利用する端末と、が別々の端末であってもよい。また、文書検索装置10に、複数のユーザ端末20が接続されていてもよい。
 なお、文書検索装置10がユーザ端末20の一部または全部の機能を有するようにしてもよい。
<文字生成モデル構築部100の機能ブロック>
 図2は、本発明の一実施形態に係る文書検索装置10の文字生成モデル構築部100の機能ブロックを示す図である。文字生成モデル構築部100は、文書検索機能部200が用いる予測モデル(文字生成モデルとも呼ぶ)を構築する。図2に示されているように、文字生成モデル構築部100は、入力受付部101と、文書取得部102と、文字種類取得部103と、文章逆転部104と、文字列切出し部105と、学習部106と、予測モデル保存部107と、学習文書データベース(DB)108と、文字生成モデルデータベース(DB)109と、を有することができる。また、文書検索装置10は、プログラムを実行することで、入力受付部101と、文書取得部102と、文字種類取得部103と、文章逆転部104と、文字列切出し部105と、学習部106と、予測モデル保存部107と、して機能することができる。
 入力受付部101は、ユーザからの入力を受け付ける。以下、機械学習するときに入力される文字列の文字数の指定と、機械学習に用いられる文書の指定と、に分けて説明する。
 入力受付部101は、学習部106が機械学習するときに入力する文字列の文字数(以下、指定文字数とも呼ぶ)の指定を受け付ける。例えば、入力受付部101は、ユーザがユーザ端末20に入力した、文字数の指定を受け付けることができる。
 入力受付部101は、学習部106が機械学習に用いる文書(以下、機械学習に用いられる文書を「学習文書」とも呼ぶ)の指定を受け付ける。例えば、入力受付部101は、ユーザがユーザ端末20に入力した、学習文書の指定を受け付けることができる。例えば、学習文書は、学習文書DB108内の全文書、あるいは、ユーザが検索したい文書と類似する内容を含む文書である。
 文書取得部102は、入力受付部101が受け付けた指定に応じて、学習文書DB108から学習文書を取得する。例えば、文書取得部102は、学習文書DB108内の全文書を取得する、あるいは、ユーザが検索したい文書と類似する内容を含む文書を学習文書DB108内で選択して取得する。
 学習文書DB108には、任意の文書が保存されている。なお、学習文書DB108内の文書と、後述する文書検索機能部200のデジタル文書DB206内の文書とは、同一であってもよいし、一部または全部が異なっていてもよい。例えば、学習文書DB108内の文書は、誤字を含まない文書である。
 文字種類取得部103は、文書取得部102が取得した学習文書に含まれている全ての文字の種類を取得する。文字の種類は、文字生成モデルによる予測の出力として利用される。具体的には、文字種類取得部103は、学習文書から全ての文字を取得し、重複する文字を除外した文字の集合を作成する。
 文章逆転部104は、文書取得部102が取得した学習文書に含まれている文字を、文字列の順序が逆の順序(反転)になるよう並べ替える(つまり、文書の末尾の文字が冒頭となり、文書の冒頭の文字が末尾となる)。なお、文字列の順序が逆の順序になるよう並べ替えられた文書を「逆文書」と呼び、文字列の順序が逆の順序になるよう並べ替えられていない文書(つまり、学習文書DB108に保存されていた文書)を「順文書」と呼ぶこととする。
 文字列切出し部105は、文書取得部102が取得した学習文書(つまり、順文書)から、機械学習して順方向文字生成モデルを構築するための文字列Xとyとの組を切り出す。また、文字列切出し部105は、文章逆転部104が文字を並べ替えた文書(つまり、逆文書)から、機械学習して逆方向文字生成モデルを構築するための文字列Xとyとの組を切り出す。Xは、文字生成モデルに入力される文字列であり、yは、文字生成モデルから出力される文字である。なお、Xの文字数は、入力受付部101が受け付けた指定文字数である。yの文字の種類は、文字種類取得部103が取得した文字の種類である。言い換えると、yは、文字種類取得部103により作成された、重複する文字を除外した文字の集合に含まれるいずれかの文字である。
 以下、図6および図7を参照しながら、学習データの例について説明する。
 図6は、本発明の一実施形態に係る順方向文字生成モデルの学習データの一例である。図6は、指定文字数を5とした場合における、順文書から切り出された文字列の一例を示す図である。図6に示されるように、順文書から切り出された5つの連なる文字列をXとし、その後に続く一文字をyとする。
 図7は、本発明の一実施形態に係る逆方向文字生成モデルの学習データの一例である。図7は、指定文字数を5とした場合における、逆文書から切り出された文字列の一例を示す図である。図7に示されるように、逆文書から切り出された5つの連なる文字列をXとし、その後に続く一文字をyとする。
 図2の説明に戻る。学習部106は、文字列切出し部105が切り出した文字列Xの集合と、文字yの集合とを用いて機械学習し、文字列が入力されるとその文字列の後に続く一文字を出力する文字生成モデルを構築する。
 具体的には、学習部106は、文字列切出し部105が"順文書"から切り出した文字列Xとyの組を用いて機械学習し、順方向文字生成モデルを構築する。また、学習部106は、文字列切出し部105が"逆文書"から切り出した文字列Xとyの組を用いて機械学習し、逆方向文字生成モデルを構築する。例えば、学習部106は、機械学習(深層学習)の手法として、文字列等のシーケンスデータを扱うことができる学習(例えば、Recurrent Neural Network(RNN)やLong short-term memory(LSTM)等)を用いることができる。そのため、文字列の順序を考慮して予測することができる。
 予測モデル保存部107は、学習部106が構築した順方向文字生成モデルと、逆方向文字生成モデルとを、文字生成モデルDB109に保存する。
 文字生成モデルDB109には、順方向文字生成モデルと、逆方向文字生成モデルと、が保存されている。
<処理方法>
 図3は、本発明の一実施形態に係る文字生成モデルの構築の処理の流れを示すフローチャートである。
 ステップ100(S100)において、入力受付部101は、学習部106が機械学習するときに入力する文字列の文字数の指定を受け付ける。例えば、入力受付部101は、ユーザがユーザ端末20に入力した、文字数の指定を受け付けることができる。また、入力受付部101は、学習部106が機械学習に用いる学習文書の指定を受け付ける。例えば、入力受付部101は、ユーザがユーザ端末20に入力した、学習文書の指定を受け付けることができる。
 ステップ101(S101)において、文書取得部102は、入力受付部101が受け付けた指定に応じて、学習文書DB108から学習文書を取得する。例えば、文書取得部102は、学習文書DB108内の全学習文書を対象として逐次取得する、あるいは、ユーザが検索したい文書と類似する内容を含む文書を学習文書DB108内で選択し、選択された学習文書を対象として、選択された学習文書が複数ある場合には逐次、取得する。
 ステップ102(S102)において、文字種類取得部103は、S101で文書取得部102が取得した学習文書に含まれている全ての文字の種類を取得する。
 以下、順方向文字生成モデルを構築するための切り出しについて(ステップ103)と、逆方向文字生成モデルを構築するための切り出しについて(ステップ104およびステップ105)と、に分けて説明する。
 ステップ103(S103)において、文字列切出し部105は、S101で文書取得部102が取得した学習文書から、機械学習して順方向文字生成モデルを構築するための文字列Xとyとの組を切り出す。文字列Xの文字数は、S100で受け付けた指定文字数である。
 ステップ104(S104)において、文章逆転部104は、S101で文書取得部102が取得した学習文書に含まれている文字を、文字列の順序が逆の順序(反転)になるよう並べ替える。
 ステップ105(S105)において、文字列切出し部105は、S104で文章逆転部104が文字列の順序を反転した文書から、機械学習して逆方向文字生成モデルを構築するための文字列Xとyとの組を切り出す。文字列Xの文字数は、S100で受け付けた指定文字数である。
 ステップ106(S106)において、文字列切出し部105は、S101で文書取得部102が取得する対象とした全ての学習文書において切り出し処理が完了したか否かを判断する。完了している場合にはステップ107とステップ108とへそれぞれ進み、完了していない場合にはステップ101へ戻る。
 以下、順方向文字生成モデルの構築について(ステップ107)と、逆方向文字生成モデルの構築について(ステップ108)と、に分けて説明する。
 ステップ107(S107)において、学習部106は、S103で文字列切出し部105が"順文書"から切り出した文字列Xとyの組を用いて機械学習し、順方向文字生成モデルを構築する。
 ステップ108(S108)において、学習部106は、S105で文字列切出し部105が"逆文書"から切り出した文字列Xとyの組を用いて機械学習し、逆方向文字生成モデルを構築する。
 ステップ109(S109)において、予測モデル保存部107は、S107で学習部106が構築した順方向文字生成モデルと、S108で学習部106が構築した逆方向文字生成モデルとを、文字生成モデルDB109に保存する。
<文書検索機能部200の機能ブロック>
 図4は、本発明の一実施形態に係る文書検索装置10の文書検索機能部200の機能ブロックを示す図である。文書検索機能部200は、文字生成モデル構築部100が構築した予測モデル(文字生成モデル)を用いて、文書検索の処理を行う。図4に示されているように、文書検索機能部200は、入力受付部201と、文書取得部202と、文字生成モデル取得部203と、文書検索部204と、検索結果表示部205と、デジタル文書データベース(DB)206と、文字生成モデルデータベース(DB)207と、を有することができる。また、文書検索機能部200は、プログラムを実行することで、入力受付部201と、文書取得部202と、文字生成モデル取得部203と、文書検索部204と、検索結果表示部205と、して機能することができる。
 入力受付部201は、ユーザからの入力を受け付ける。以下、ユーザが検索したい文書と、ユーザが検索したいキーワードと、キーワード内の文字に置き換えられるワイルドカードの比率あるいは文字数と、文字生成モデルに入力される文字列の文字数と、尤度の閾値と、に分けて説明する。
 入力受付部201は、ユーザが検索したい1つまたは複数の文書の指定を受け付ける。例えば、入力受付部201は、ユーザがユーザ端末20に入力した、1つまたは複数の文書の指定を受け付けることができる。本発明では、ユーザが指定したキーワードをもとに、ユーザが指定した1つまたは複数の文書内を検索する。
 入力受付部201は、ユーザが検索したいキーワードの指定を受け付ける。例えば、入力受付部201は、ユーザがユーザ端末20に入力した、キーワードの指定を受け付けることができる。本発明では、ユーザが指定したキーワード内の文字をワイルドカードに置き換えて文書を検索する。
 入力受付部201は、キーワードの文字数に対するワイルドカードの文字数の比率、あるいは、ワイルドカードの文字数の指定を受け付ける。例えば、入力受付部201は、ユーザがユーザ端末20に入力した、ワイルドカードの比率あるいは文字数の指定を受け付けることができる。なお、ワイルドカードは、キーワード内の文字に置き換えられるアスタリスクや疑問符等の特殊文字である。検索において、ワイルドカードは、どのような文字にも一致するとみなされる。
 入力受付部201は、文字生成モデルに入力される文字列の文字数の指定を受け付ける。具体的には、入力受付部201は、ユーザがユーザ端末20に入力した、文字数の指定を受け付けることができる。
 入力受付部201は、尤度(詳細については後述する)の閾値の指定を受け付ける。具体的には、入力受付部201は、ユーザがユーザ端末20に入力した、尤度の閾値の指定を受け付けることができる。
 文書取得部202は、入力受付部101が受け付けた指定に応じて、デジタル文書DB206から、ユーザが検索したい1つまたは複数の文書を取得する。
 デジタル文書DB206には、任意の文書が保存されている。なお、デジタル文書DB206内の文書と、文字生成モデル構築部100の学習文書DB108内の文書とは、同一であってもよいし、一部または全部が異なっていてもよい。例えば、デジタル文書DB206内の文書は、誤字を含む文書である。
 文字生成モデル取得部203は、文字生成モデルDB207から、順方向文字生成モデルと逆方向文字生成モデルとを取得する。
 文字生成モデルDB207には、文字生成モデル構築部100が構築した、順方向文字生成モデルと、逆方向文字生成モデルと、が保存されている。
 文書検索部204は、文書取得部202が取得した全ての文書に対して、(1)キーワードからワイルドカードを含む文字列を生成し、(2)ワイルドカードを含む文字列を使用して文書を検索し、ワイルドカードを含む文字列がヒットした箇所(ヒット文字列)とその前後の文字列を取得し、(3)ヒット文字列の前の文字列と順方向文字生成モデルとを用いて、ヒット文字列の尤度(順方向尤度)を算出し、(4)ヒット文字列の後ろの文字列と逆方向文字生成モデルとを用いて、ヒット文字列の尤度(逆方向尤度)を算出し、(5)順方向尤度と逆方向尤度の平均を、ヒット文字列の有効尤度として算出する。以下、詳細に説明する。
(1)ワイルドカードを含む文字列の生成
 文書検索部204は、入力受付部201が受け付けたキーワードの一部の文字をワイルドカードに置換して、ワイルドカードを含む文字列を生成する。ワイルドカードに置換される文字の数は、入力受付部201が受け付けたワイルドカードの比率あるいは文字数をもとに決められる。
(2)検索およびヒット文字列と前後の文字列の取得
 文書検索部204は、ワイルドカードを含む文字列を使用して文書取得部202が取得した全ての文書を検索し、ワイルドカードを含む文字列がヒットした箇所(ワイルドカードを含む文字列と一致する文字列を「ヒット文字列」とも呼ぶ)の前後の文字列も含めて取得する。つまり、文書検索部204は、ワイルドカードを含む文字列と一致する文字列(ヒット文字列)と、そのヒット文字列の前に位置する文字列およびそのヒット文字列の後ろに位置する文字列と、を取得する。ヒット文字列とともに取得される前後の文字列の文字数は、それぞれ、入力受付部201が受け付けた文字生成モデルに入力される文字列の文字数である。
(3)順方向尤度の算出
 文書検索部204は、ヒット文字列の前の文字列を用いて、順方向文字生成モデルに入力する文字列(以下、入力文字列という)を作成し、ヒット文字列の尤度を算出する。具体的には、ヒット文字列が検索キーワードであると仮定した場合の順方向尤度を算出する。
 以下、キーワードの文字数と、ヒット文字列の前の文字列の文字数と、が同数である場合について説明する。文書検索部204は、ヒット文字列の前の文字列を順方向文字生成モデルに入力し、ヒット文字列の先頭の文字の尤度を算出する。続いて、文書検索部204は、ヒット文字列の先頭の文字を入力文字列の末尾に追加して入力文字列の先頭の文字を除いた文字列を順方向予測モデルに入力し、ヒット文字列の先頭から数えて二文字目の文字の尤度を算出する。文書検索部204は、この処理をヒット文字列に含まれる全ての文字に対して行う。このように算出された、ヒット文字列に含まれる全ての文字の尤度の平均値を、ヒット文字列の順方向尤度とする。平均の取り方は限定されないが、相加平均であることが望ましい。
(4)逆方向尤度の算出
 文書検索部204は、ヒット文字列の後ろの文字列を逆転させたもの(つまり、文字列の順序が逆の順序になるよう文字を並べ替えたもの)を用いて、逆方向文字生成モデルに入力する文字列(以下、入力文字列という)を作成し、ヒット文字列の尤度を算出する。具体的には、ヒット文字列が検索キーワードであると仮定した場合の逆方向尤度を算出する。
 以下、キーワードの文字数と、ヒット文字列の後ろの文字列の文字数と、が同数である場合について説明する。文書検索部204は、ヒット文字列の後ろの文字列を逆転させたものを逆方向文字生成モデルに入力し、ヒット文字列の末尾の文字の尤度を算出する。続いて、文書検索部204は、ヒット文字列の末尾の文字を入力文字列の末尾に追加して入力文字列の先頭の文字を除いた文字列を逆方向予測モデルに入力し、ヒット文字列の末尾から数えて二文字目の文字の尤度を算出する。文書検索部204は、この処理をヒット文字列に含まれる全ての文字に対して行う。このように算出された、ヒット文字列に含まれる全ての文字の尤度の平均値を、ヒット文字列の逆方向尤度とする。平均の取り方は限定されないが、相加平均であることが望ましい。
<他の実施形態>
 ワイルドカードを含む文字列において、ワイルドカードではない文字は、文書中に必ず存在する。そのため、ワイルドカードではない文字の尤度を100パーセントとみなすことができる。
(5)有効尤度の算出
 文書検索部204は、順方向尤度と逆方向尤度の平均値を、ヒット文字列の有効尤度として算出する。平均の取り方は限定されないが、相加平均であることが望ましい。
 以下、図8および図9を参照しながら、検索および尤度の算出について具体的に説明する。
 図8は、本発明の一実施形態に係る検索を説明するための図である。図8に示されているように、ユーザが検索したいキーワードが"おめでとう"であったとする。そうすると、キーワード"おめでとう"の一部の文字がワイルドカードに置換された、ワイルドカードを含むキーワードとして"おめでと*"、"おめで*う"、"おめ*とう"、"お*でとう"、"*めでとう"が生成される。そして、ヒット文字列"おあでとう"が検索されたとする。ヒット文字列"おあでとう"の前の文字列"あけまして"が取得されて順方向尤度が算出され、かつ、ヒット文字列"おあでとう"の後ろの文字列"ございます"が取得されて逆方向尤度が算出される。
 図9は、本発明の一実施形態に係る尤度の算出を説明するための図である。図9に示されているように、ユーザが検索したいキーワードが"おめでとう"であったとする。そして、ヒット文字列"おあでとう"が検索されたとする。ヒット文字列"おあでとう"の前の文字列"あけまして"、および、ヒット文字列"おあでとう"の後ろの文字列"ございます"が取得される。順方向尤度と逆方向尤度が算出され、両者を平均した平均尤度が有効尤度となる。
 順方向尤度について説明する。尤度として、ヒット文字列が検索キーワードであると仮定した場合の尤度を算出する。図9においては、検索キーワードに含まれる各文字、「お」「め」「で」「と」「う」、のそれぞれの尤度を算出する。"あけまして"の後に"お"が続くときの尤度を算出する(100パーセントであったとする)。また、"けましてお"の後に"め"が続くときの尤度を算出する(70パーセントであったとする)。また、"ましておめ"の後に"で"が続くときの尤度を算出する(100パーセントであったとする)。また、"しておめで"の後に"と"が続くときの尤度を算出する(100パーセントであったとする)。また、"ておめでと"の後に"う"が続くときの尤度を算出する(100パーセントであったとする)。そして、全尤度(つまり、"お"の尤度と"め"の尤度と"で"の尤度と"と"の尤度と"う"の尤度)の平均が順方向尤度(順方向平均尤度)となる。
 逆方向尤度について説明する。尤度として、前述した順方向尤度の場合と同様にして算出する。"すまいざご"の後に"う"が続くときの尤度を算出する(100パーセントであったとする)。また、"まいざごう"の後に"と"が続くときの尤度を算出する(100パーセントであったとする)。また、"いざごうと"の後に"で"が続くときの尤度を算出する(100パーセントであったとする)。また、"ざごうとで"の後に"め"が続くときの尤度を算出する(95パーセントであったとする)。また、"ごうとでめ"の後に"お"が続くときの尤度を算出する(100パーセントであったとする)。そして、全尤度(つまり、"う"の尤度と"と"の尤度と"で"の尤度と"め"の尤度と"お"の尤度)の平均が逆方向尤度(逆方向平均尤度)となる。
 さらに、順方向尤度と逆方向尤度との平均が有効尤度(平均尤度)となる。
 図4の説明に戻る。検索結果表示部205は、検索の結果を出力する。具体的には、検索結果表示部205は、文書検索部204が算出した有効尤度が、ユーザが指定した尤度の閾値以上である文書を、ユーザ端末20の画面に表示する。
 例えば、検索結果表示部205は、ヒット文字列とその周辺の文章を表示することができる。また、例えば、検索結果表示部205は、OCRを用いて手書きの文書の画像から変換された文書である場合には、有効尤度が閾値以上である文書とともに、手書きの文書の画像を検索結果として表示することができる。また、例えば、検索結果表示部205は、有効尤度が高い順に文書を表示することができる。
 なお、本明細書では、順方向尤度と逆方向尤度の平均である有効尤度を用いる場合を説明するが、順方向尤度のみを用いてもよいし、逆方向尤度のみを用いてもよい。
 <処理方法>
 図5は、本発明の一実施形態に係る文書の検索の処理の流れを示すフローチャートである。
 ステップ200(S200)において、入力受付部201は、ユーザが検索したいキーワードの指定を受け付ける。例えば、入力受付部201は、ユーザがユーザ端末20に入力した、キーワードの指定を受け付けることができる。
 ステップ201(S201)において、文字生成モデル取得部203は、文字生成モデルDB207から、順方向文字生成モデルと逆方向文字生成モデルとを取得する。
 ステップ202(S202)において、文書取得部202は、入力受付部201が受け付けた指定に応じて、デジタル文書DB206から、ユーザが検索したい1つまたは複数の文書を取得する。
 ステップ203(S203)において、文書検索部204は、S200のキーワードから生成したワイルドカードを含む文字列を使用してS202の文書を検索し、ヒット文字列を得、順方向文字生成モデルと逆方向文字生成モデルとを用いて、ヒット文字列の順方向尤度と逆方向尤度の平均をヒット文字列の有効尤度として算出する。
 ステップ204(S204)において、文書検索部204は、S202で文書取得部202が取得した全ての文書の検索処理が完了したか否かを判断する。完了している場合にはステップ205へ進み、完了していない場合にはステップ202へ戻る。
 ステップ205(S205)において、検索結果表示部205は、S203で文書検索部204が算出した有効尤度が、ユーザが指定した尤度の閾値以上である文書があるか否かを判断する。文書がある場合にはステップ206へ進み、文書がない場合にはステップ210へ進む。なお、ステップ210(S210)において、検索結果表示部205は、該当する文書が存在しないことを示す通知を出力して処理を終了する。
 ステップ206(S206)において、検索結果表示部205は、ヒット文字列を含む周辺の文章を取得する。
 ステップ207(S207)において、検索結果表示部205は、取得した結果の出力として、ヒット文字列を含む周辺の文章を表示する。
 ステップ208(S208)において、検索結果表示部205は、OCRを用いて文書に変換された手書きの文書の画像を表示させる旨の指示および文章の選択をユーザから受け付けたか否かを判断する。受け付けている場合にはステップ209へ進み、受け付けていない場合には処理を終了する。
 ステップ209(S209)において、検索結果表示部205は、S208で選択された文章に対応する、手書きの文書の画像を表示する。
<検索精度の評価>
 以下、検索精度の評価について説明する。
 小説「吾輩は猫である」において検索精度を評価した。この文書中には、2245段落が含まれている。文書中の2割の文字を無作為に別の文字に置換することにより、誤字を含む文書を疑似的に生成した。
 キーワードとして、細君(107)と、蕎麦(6)と、鰹節(10)と、迷亭君(64)と、大和魂(7)と、風呂敷(6)と、神経衰弱(6)と、ダムダム弾(4)と、シャンパン(6)と、ヴァイオリン(61)と、を使用した。かっこ内の数字は、それぞれキーワードが含まれる段落の数を表す。
<文書検索装置10による文書検索(LSTM検索)>
 キーワードの一部の文字をワイルドカードに置換した文字列を使用して文書を検索することにより、ワイルドカードを含む文字列が含まれる段落を取得し、それが正解か否かを判定することにより、検索精度を定量的に評価した。文字列等のシーケンスデータを扱うことができる学習として、Long short-term memory(LSTM)を使用した。LSTMの学習は、機械学習に用いるためのソフトウェアライブラリであるTensorFlow(登録商標)により実行した。学習のエポック数は200とした。入力する文字列の文字数は8文字とした。
 検索精度の評価指標として、「Precision」、「Recall」、「F値」を算出した。
 「Precision」は、検索でヒットした正解文書の数を、検索でヒットした文書の総数で除して算出される値であり、検索の正確性を表す指標とみなすことができる。
 「Recall」は、検索でヒットした正解文書の数を、全ての正解文書の数で除して算出される値であり、検索の網羅性を表す指標とみなすことができる。
 「F値」は、「Precision」と「Recall」の調和平均により算出される値であり、検索の正確性と網羅性のバランスを表す指標とみなすことができる。
 それぞれのキーワードにおいて、「Precision」、「Recall」、「F値」を求め、それらのマクロ平均値を、「平均Precision」、「平均Recall」、「平均F値」として算出した。
 本発明の文書検索装置10による文書検索では、検索精度に影響するハイパーパラメータとして、キーワードにおけるワイルドカードの比率(ワイルドカード比率)と、ヒット文字列の有効尤度の閾値と、を設定する必要ある。ここでは、文書中の50パーセントの段落を学習データとして、学習文書における「F値」が最も高くなるように、ハイパーパラメータをチューニングした。その結果、ワイルドカード比率が0.6、ヒット文字列の有効尤度の閾値が0.8となった。これらのハイパーパラメータを用いて、ワイルドカードを含む文字列を使用して文書検索を実施した。ここでは、学習データ以外の、残り50パーセントの段落をテストデータとして文書検索を実施し、その検索精度を評価した。テストデータにキーワードが存在しない場合、そのキーワードを除外して検索精度を評価した。
<比較例1(キーワード検索)>
 比較例1では、ワイルドカードも有効尤度も使用せず、キーワードのみで文書検索を実施(つまり、完全一致検索)した。その他については、<文書検索装置10による文書検索(LSTM検索)>と同様の手順により検索精度を評価した。
<比較例2(ワイルドカード検索)>
 比較例2では、有効尤度を使用せず、ワイルドカードを含む文字列を使用して文書検索を実施(つまり、部分一致検索)した。比較例2では、検索精度に影響するハイパーパラメータとして、ワイルドカード比率を設定する必要がある。そこで、<文書検索装置10による文書検索(LSTM検索)>と同様の手順によりハイパーパラメータをチューニングした。その結果、ワイルドカードの比率は、0.3となった。その他については、<文書検索装置10による文書検索(LSTM検索)>と同様の手順により検索精度を評価した。
 図10は、本発明の一実施形態に係る検索精度を比較するための図である。具体的には、図10は、本発明の文書検索装置10による文書検索と、比較例1と、比較例2との検索精度を示す図である。図10に示されているように、本発明の文書検索装置10を用いることにより、「平均Precision」と「平均Recall」の両方がバランスよく高い数値となる。その結果として、比較例と比べて「平均F値」が高い数値となることがわかる。以上の結果から、本明細書に記載される文書検索装置10を用いることで、文書検索の正確性と網羅性の両方をバランスよく改善することができる。
<効果>
 このように、本発明では、人間が前後の文脈から推測することで誤字であるか否かを判定するように、文書検索装置が、ワイルドカードを含む文字列を使用した検索で抽出した文字列の尤もらしさを算出することができる。そのため、文書が誤字を含んでいたとしても、所望の文書を正確にかつ網羅的に取得することができる。
 また、前から尤度を算出するか、後ろから尤度を算出するかで、尤度が異なる。文章の前後から予測した尤度を算出して両方の尤度の平均を取ることによって、より人間の直感に合致した尤度を得ることができる。
<ハードウェア構成>
 図11は、本発明の一実施形態に係る文書検索装置10、ユーザ端末20のハードウェア構成図である。文書検索装置10、ユーザ端末20は、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003を有する。CPU1001、ROM1002、RAM1003は、いわゆるコンピュータを形成する。
 また、文書検索装置10、ユーザ端末20は、補助記憶装置1004、表示装置1005、操作装置1006、I/F(Interface)装置1007、ドライブ装置1008を有することができる。
 なお、文書検索装置10、ユーザ端末20の各ハードウェアは、バスBを介して相互に接続されている。
 CPU1001は、補助記憶装置1004にインストールされている各種プログラムを実行する演算デバイスである。
 ROM1002は、不揮発性メモリである。ROM1002は、補助記憶装置1004にインストールされている各種プログラムをCPU1001が実行するために必要な各種プログラム、データ等を格納する主記憶デバイスとして機能する。具体的には、ROM1002は、BIOS(Basic Input/Output System)やEFI(Extensible Firmware Interface)等のブートプログラム等を格納する、主記憶デバイスとして機能する。
 RAM1003は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリである。RAM1003は、補助記憶装置1004にインストールされている各種プログラムがCPU1001によって実行される際に展開される作業領域を提供する、主記憶デバイスとして機能する。
 補助記憶装置1004は、各種プログラムや、各種プログラムが実行される際に用いられる情報を格納する補助記憶デバイスである。
 表示装置1005は、文書検索装置10、ユーザ端末20の内部状態等を表示する表示デバイスである。
 操作装置1006は、文書検索装置10、ユーザ端末20を操作する者が文書検索装置10、ユーザ端末20に対して各種指示を入力する入力デバイスである。
 I/F装置1007は、ネットワークに接続し、他の装置と通信を行うための通信デバイスである。
 ドライブ装置1008は記録媒体1009をセットするためのデバイスである。ここでいう記録媒体1009には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体1009には、EPROM (Erasable Programmable Read Only Memory)、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
 なお、補助記憶装置1004にインストールされる各種プログラムは、例えば、配布された記録媒体1009がドライブ装置1008にセットされ、該記録媒体1009に記録された各種プログラムがドライブ装置1008により読み出されることでインストールされる。あるいは、補助記憶装置1004にインストールされる各種プログラムは、I/F装置1007を介して、ネットワークよりダウンロードされることでインストールされてもよい。
 以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1 文書検索システム
10 文書検索装置
20 ユーザ端末
100 文字生成モデル構築部
200 文書検索機能部
101 入力受付部
102 文書取得部
103 文字種類取得部
104 文章逆転部
105 文字列切出し部
106 学習部
107 予測モデル保存部
108 学習文書DB
109 文字生成モデルDB
201 入力受付部
202 文書取得部
203 文字生成モデル取得部
204 文書検索部
205 検索結果表示部
206 デジタル文書DB
207 文字生成モデルDB
1001 CPU
1002 ROM
1003 RAM
1004 補助記憶装置
1005 表示装置
1006 操作装置
1007 I/F装置
1008 ドライブ装置
1009 記録媒体

Claims (11)

  1.  文書検索のキーワードの入力を受け付ける入力受付部と、
     前記キーワードの一部の文字をワイルドカードに置換した文字列と一致するヒット文字列、および、前記ヒット文字列の前後の文字列を文書から取得し、
     前記ヒット文字列、および、前記ヒット文字列の前後の文字列に基づいて、前記ヒット文字列の尤度を算出する、文書検索部と、
     前記尤度に基づいて文書検索の結果を出力する検索結果表示部と
     を有する、文書検索装置。
  2.  前記文書検索部は、順方向の尤度をもとに前記ヒット文字列の尤度を算出する、請求項1に記載の文書検索装置。
  3.  前記文書検索部は、順方向の尤度および逆方向の尤度をもとに前記ヒット文字列の尤度を算出する、請求項1に記載の文書検索装置。
  4.  前記文書検索部は、前記ヒット文字列の各文字の尤度をもとに前記ヒット文字列の尤度を算出する、請求項1から3のいずれか一項に記載の文書検索装置。
  5.  前記文書検索部は、前記ヒット文字列のうち前記ワイルドカードではない文字の尤度を100パーセントとみなす、請求項4に記載の文書検索装置。
  6.  前記入力受付部は、前記ヒット文字列の尤度の閾値の入力を受け付け、
     前記検索結果表示部は、前記閾値以上の尤度である前記ヒット文字列、および、前記ヒット文字列を含む周辺の文章を表示する、請求項1から5のいずれか一項に記載の文書検索装置。
  7.  前記検索結果表示部は、前記閾値以上の尤度である前記ヒット文字列、および、前記ヒット文字列を含む周辺の文章、に対応する手書き文書の画像をさらに表示する、請求項6に記載の文書検索装置。
  8.  前記検索結果表示部は、前記ヒット文字列の尤度が高い順に前記文書検索の結果を出力する、請求項1から7のいずれか一項に記載の文書検索装置。
  9.  文書検索装置とユーザ端末とを含む文書検索システムであって、
     前記文書検索装置は、
     文書検索のキーワードの入力を前記ユーザ端末から受け付ける入力受付部と、
     前記キーワードの一部の文字をワイルドカードに置換した文字列と一致するヒット文字列、および、前記ヒット文字列の前後の文字列を文書から取得し、
     前記ヒット文字列、および、前記ヒット文字列の前後の文字列に基づいて、前記ヒット文字列の尤度を算出する、文書検索部と、
     前記尤度に基づいて文書検索の結果を前記ユーザ端末に出力する検索結果表示部と、を有する、文書検索システム。
  10.  コンピュータを、
     文書検索のキーワードの入力を受け付ける入力受付部、
     前記キーワードの一部の文字をワイルドカードに置換した文字列と一致するヒット文字列、および、前記ヒット文字列の前後の文字列を文書から取得し、
     前記ヒット文字列、および、前記ヒット文字列の前後の文字列に基づいて、前記ヒット文字列の尤度を算出する、文書検索部、
     前記尤度に基づいて文書検索の結果を出力する、検索結果表示部
     として機能させるためのプログラム。
  11.  文書検索装置が実行する方法であって、
     文書検索のキーワードの入力を受け付けるステップと、
     前記キーワードの一部の文字をワイルドカードに置換した文字列と一致するヒット文字列、および、前記ヒット文字列の前後の文字列を文書から取得し、
     前記ヒット文字列、および、前記ヒット文字列の前後の文字列に基づいて、前記ヒット文字列の尤度を算出するステップと、
     前記尤度に基づいて文書検索の結果を出力するステップと
     を含む方法。
PCT/JP2021/026992 2020-07-22 2021-07-19 文書検索装置、文書検索システム、文書検索プログラム、および文書検索方法 WO2022019275A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022538005A JPWO2022019275A1 (ja) 2020-07-22 2021-07-19
CN202180045775.9A CN115917527A (zh) 2020-07-22 2021-07-19 文档检索装置、文档检索系统、文档检索程序、以及文档检索方法
US18/002,105 US20230229683A1 (en) 2020-07-22 2021-07-19 Document search device, document search system, document search program, and document search method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020125341 2020-07-22
JP2020-125341 2020-07-22

Publications (1)

Publication Number Publication Date
WO2022019275A1 true WO2022019275A1 (ja) 2022-01-27

Family

ID=79728759

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/026992 WO2022019275A1 (ja) 2020-07-22 2021-07-19 文書検索装置、文書検索システム、文書検索プログラム、および文書検索方法

Country Status (4)

Country Link
US (1) US20230229683A1 (ja)
JP (1) JPWO2022019275A1 (ja)
CN (1) CN115917527A (ja)
WO (1) WO2022019275A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6963126B2 (ja) * 2019-02-14 2021-11-05 昭和電工株式会社 文書検索装置、文書検索システム、文書検索プログラム及び文書検索方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048272A (ja) * 2005-07-14 2007-02-22 Seiko Epson Corp 文字列検索装置およびプログラム
JP2012141742A (ja) * 2010-12-28 2012-07-26 Fujitsu Ltd 文字列検索装置,文字列検索方法および文字列検索プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254486A (ja) * 1997-03-13 1998-09-25 Canon Inc 音声認識装置および方法
JP2003029904A (ja) * 2000-06-05 2003-01-31 Sony Corp 情報携帯装置及び情報携帯装置における操作子の配置方法
US6556669B2 (en) * 2001-05-17 2003-04-29 Worldcom, Inc. International origination to domestic termination call blocking
WO2006072193A1 (fr) * 2005-01-05 2006-07-13 New Noah Technology (Shenzhen) Co., Ltd. Systeme de transition d'informations a distance pour machine portative d'apprentissage reseau multimedia et procede correspondant
US9177037B2 (en) * 2013-01-02 2015-11-03 Sap Se In-memory runtime for multidimensional analytical views
US9230013B1 (en) * 2013-03-07 2016-01-05 International Business Machines Corporation Suffix searching on documents
JP7111154B2 (ja) * 2018-04-27 2022-08-02 日本電信電話株式会社 回答選択装置、回答選択方法、回答選択プログラム
US11755659B2 (en) * 2018-10-04 2023-09-12 Resonac Corporation Document search device, document search program, and document search method
US10984052B2 (en) * 2018-11-19 2021-04-20 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for multiple-character wildcard search over encrypted data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007048272A (ja) * 2005-07-14 2007-02-22 Seiko Epson Corp 文字列検索装置およびプログラム
JP2012141742A (ja) * 2010-12-28 2012-07-26 Fujitsu Ltd 文字列検索装置,文字列検索方法および文字列検索プログラム

Also Published As

Publication number Publication date
CN115917527A (zh) 2023-04-04
JPWO2022019275A1 (ja) 2022-01-27
US20230229683A1 (en) 2023-07-20

Similar Documents

Publication Publication Date Title
US7590626B2 (en) Distributional similarity-based models for query correction
JP5597255B2 (ja) 単語の重みに基づいた検索結果の順位付け
US8261237B2 (en) Software tool for detecting plagiarism in computer source code
US8055498B2 (en) Systems and methods for building an electronic dictionary of multi-word names and for performing fuzzy searches in the dictionary
US7689588B2 (en) Method of syntactic pattern recognition of sequences
JP4664423B2 (ja) 適合性のある情報を検索する方法
JP3998668B2 (ja) 形態素解析装置、方法及びプログラム
US8176419B2 (en) Self learning contextual spell corrector
US7739111B2 (en) Pattern matching method and apparatus and speech information retrieval system
Hodge et al. A comparison of standard spell checking algorithms and a novel binary neural approach
US8386238B2 (en) Systems and methods for evaluating a sequence of characters
JP4114600B2 (ja) 可変長文字列検索装置及び可変長文字列検索方法並びにプログラム
CN111984851A (zh) 医学资料搜索方法、装置、电子装置及存储介质
US20030158725A1 (en) Method and apparatus for identifying words with common stems
CN111782892B (zh) 基于前缀树的相似字符识别方法、设备、装置和存储介质
WO2022019275A1 (ja) 文書検索装置、文書検索システム、文書検索プログラム、および文書検索方法
US20030126138A1 (en) Computer-implemented column mapping system and method
JP2008541272A (ja) 署名生成および関連性を有するマッチングエンジン
JP3531222B2 (ja) 類似文字列検索装置
JP4091586B2 (ja) 構造化文書管理システム、索引構築方法及びプログラム
Goldsmith et al. From signatures to finite state automata
US12026157B2 (en) Narrowing synonym dictionary results using document attributes
JP4160627B2 (ja) 構造化文書管理システム及びプログラム
JPH09212523A (ja) 全文検索方法
EP1288790A1 (en) Method of analysing a text corpus and information analysis system

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: 21846384

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022538005

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21846384

Country of ref document: EP

Kind code of ref document: A1