Information processing device, information processing method, and program

By assigning weights to fields in document data based on categories and using these weights to calculate a search score, the system improves search accuracy and relevance, addressing the limitations of traditional full-text searches.

JP7670951B2Active Publication Date: 2025-05-01CANON MARKETING JAPAN INC +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2020178643
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-10-26
Publication Date
2025-05-01
Estimated Expiration
2040-10-26

AI Technical Summary

Technical Problem

Traditional full-text searches fail to accurately reflect the importance or meaning of words, leading to suboptimal search results where relevant low-frequency words are not prioritized, and documents with similar words but different nuances are mixed in search results.

Method used

The system assigns weights to each field in document data based on categories, allowing for the calculation of a search score that reflects the relevance of search terms to the document, thereby improving search accuracy.

Benefits of technology

This approach enhances search accuracy by prioritizing documents that closely match the user's search intentions, ensuring that relevant results are displayed at the top, even if they contain the same number of search terms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007670951000001
    Figure 0007670951000001
  • Figure 0007670951000002
    Figure 0007670951000002
  • Figure 0007670951000003
    Figure 0007670951000003
Patent Text Reader

Abstract

To provide an information processing system, an information processor, an information processing method and a program which can improve retrieval accuracy so as to obtain a retrieval result close to the intention of a retrieval user using a category of document data and field information in calculation of a retrieval score.SOLUTION: In an information processing system (document retrieval system), retrieval processing stores a weight set in each field included in a document for each category of a document, and calculates a score of the document based on the weight set in the fields, and a relation between the field and a retrieval word.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

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

[0002] Conventional full-text searches based only on word frequency do not take into account the importance or meaning of words. As a result, there are problems with documents that hit important words that occur infrequently but do not appear at the top of search results, or documents that hit words that have the same spelling but different nuances may appear in the search results.

[0003] Patent Document 1 discloses a technique for obtaining search results that are close to the user's search intent by using field information of document data in calculating a search score. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2005-063468 A Summary of the Invention [Problem to be solved by the invention]

[0005] Patent Document 1 describes a technique for obtaining search results that are close to the user's search intent by using field information of document data in calculating a search score.

[0006] However, the user must input the score reflection ratio for each field every time a search is performed, which becomes cumbersome when there are many fields. In addition, there is a problem that parts that are not prepared in advance as metadata for the document are not stored in the field. Furthermore, there is a problem that there is no concept of document categories, so it is not possible to extract field information or calculate scores according to each category.

[0007] For this reason, it is desirable to add category information to document data and define field extraction information for each category.

[0008] Therefore, an object of the present invention is to improve search accuracy so as to obtain search results that are closer to the search user's intention by using the category and field information of document data in calculating a search score. [Means for solving the problem]

[0009] The information processing system of the present invention is characterized by comprising a storage means for storing weights set for each field contained in a document for each document category, and a calculation means for calculating a score for the document based on the weights set for the fields and the relationship between the fields and search terms.

[0010] The information processing method of the present invention is characterized by comprising a storage step of storing weights set for each field contained in a document for each category of the document, and a calculation step of calculating a score for the document based on the weights set for the fields and the relationship between the fields and the search terms.

[0011] The program of the present invention is characterized in that it causes a computer to function as a storage means for storing weights set for each field contained in a document for each document category, and as a calculation means for calculating the score of the document based on the weights set for the fields and the relationship between the fields and search terms. Effect of the Invention

[0012] According to the present invention, it is possible to improve search accuracy so as to obtain search results closer to the search user's intention by using the category and field information of document data in calculating a search score. [Brief description of the drawings]

[0013] [Figure 1] FIG. 1 is a diagram illustrating a system configuration of an information processing system. [Diagram 2]FIG. 2 is a diagram illustrating a hardware configuration of an information processing device. [Diagram 3] 3 is a flowchart showing a process flow in the present embodiment. [Figure 4] 10 is a flowchart illustrating an example of a document registration process according to an embodiment of the present invention. [Diagram 5] 11 is a flowchart showing an example of a field extraction process in the embodiment of the present invention. [Figure 6] 11 is a flowchart showing an example of a field extraction process using a keyword according to the embodiment of the present invention. [Figure 7] 10 is a flowchart showing an example of a field extraction process using a pattern in an embodiment of the present invention. [Figure 8] 11 is a flowchart showing an example of a field extraction process based on morphological analysis in the embodiment of the present invention. [Figure 9] 11 is a flowchart illustrating an example of a search process in the embodiment of the present invention. [Figure 10] 13 is a flowchart showing an example of a process of updating search session statistical information in the embodiment of the present invention. [Figure 11] 13 is a flowchart showing an example of a field weight update process in the embodiment of the present invention. [Figure 12] FIG. 13 is a diagram showing an example of an extraction definition list screen in the embodiment of the present invention. [Figure 13] FIG. 13 is a diagram showing an example of an extraction definition details screen in the embodiment of the present invention. [Figure 14] FIG. 11 is a diagram illustrating the distance between a field name and a keyword in the embodiment of the present invention. [Figure 15] FIG. 11 is a diagram illustrating an example of a field weight update process in the embodiment of the present invention. [Figure 16] FIG. 11 is a diagram illustrating an example of a table of search session statistical information in the embodiment of the present invention. [Figure 17] FIG. 11 is a diagram showing an example of calculation of a field score in an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. Note that the embodiment described below shows an example of a specific implementation of the present invention, and is an example of the configuration described in the claims.

[0015] 1 is a diagram showing an example of the system configuration of a document search system according to an embodiment of the present invention. A document search system 2000 according to an embodiment of the present invention is composed of an information processing device 100, a document DB 107, and a client PC 108. The information processing device 100 is composed of a document registration processing unit 101, a document search processing unit 102, a morphological analysis dictionary 103, a registered document index 104, an extraction definition DB 105, and search session statistical information 106, and is communicatively connected via a network to an external document DB 107 and a client PC used when registering a document in the document search system.

[0016] The document registration processing unit 101 is a functional unit that executes processes related to documents received from a user. Specifically, it performs processes such as text extraction, categorization, and field extraction, creates a search index, and stores the index in the registered document index 104.

[0017] The document search processing unit 102 is a functional unit that searches for indexed documents using search terms received from the user. When a search term is received from the user, the document search processing unit 102 calculates a body score and a field score from the indexed document, adds them up, and reflects them in the search results.

[0018] The morphological analysis dictionary 103 is a dictionary used when performing morphological analysis.

[0019] The registration document index 104 is a DB that stores search indexes for the text and each field extracted from the document to be registered. The search processing unit 102 uses this DB to perform processing.

[0020] The extraction definition DB 105 is a DB that stores extraction definitions defined for each category. Fields are extracted using an extraction method set as the extraction definition of the category stored in the extraction definition DB. The extraction method may be extraction by keyword, extraction by pattern, or extraction by morphological analysis.

[0021] The search session statistical information 106 is a DB for updating the search session statistical information of a user, and is used when updating the search session statistical information of a user and updating the field weight of an extraction definition.

[0022] The document DB 107 is a DB in which documents are stored, including external DBs such as cloud services.

[0023] The client PC 108 is used to accept document registration from a user.

[0024] FIG. 2 is a block diagram showing an example of a hardware configuration of an information processing device according to an embodiment of the present invention.

[0025] As shown in FIG. 2, the information processing device has a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, a storage device 204, an input controller 205, an audio input controller 206, a video controller 207, a memory controller 208, and a communication I / F controller 209 connected via a system bus 200.

[0026] The CPU 201 comprehensively controls each device and controller connected to the system bus 200 .

[0027] ROM 202 or external memory 213 holds the BIOS (Basic Input / Output System) and OS (Operating System), which are control programs executed by CPU 201, computer-readable and executable programs for realizing this information processing method, and various necessary data (including data tables).

[0028] The RAM 203 functions as a main memory, a work area, etc., for the CPU 201. The CPU 201 loads programs and the like required for executing processes from the ROM 202 or the external memory 213 into the RAM 203, and executes the loaded programs to realize various operations.

[0029] The input controller 205 controls input from an input device such as a keyboard 210 or a pointing device such as a mouse (not shown). If the input device is a touch panel, the user can give various instructions by pressing (touching with a finger or the like) icons, cursors, or buttons displayed on the touch panel.

[0030] The touch panel may be a touch panel capable of detecting positions touched by multiple fingers, such as a multi-touch screen.

[0031] The video controller 207 controls display on an external output device such as a display 212. The display also includes the display of a notebook computer integrated with the main body. Note that the external output device is not limited to a display, and may be, for example, a projector. In addition, for the device capable of receiving the above-mentioned touch operation, an input device is also provided.

[0032] The video controller 207 is capable of controlling a video memory (VRAM) for display control, and can use part of the RAM 203 as the video memory area, or can provide a separate dedicated video memory.

[0033] The memory controller 208 controls access to the external memory 213. As the external memory, an external storage device (hard disk) for storing a boot program, various applications, font data, user files, edit files, and various data, a flexible disk (FD), or a compact flash (registered trademark) memory connected to a PCMCIA card slot via an adapter, etc., can be used.

[0034] The communication I / F controller 209 connects and communicates with external devices via a network, and executes communication control processing on the network. For example, communication using TCP / IP, telephone lines such as ISDN, and 3G lines for mobile phones are possible.

[0035] The CPU 201 enables display on the display 212 by, for example, executing a process of expanding (rasterizing) an outline font in a display information area in the RAM 203. The CPU 201 also enables a user to give instructions using a mouse cursor (not shown) or the like on the display 212.

[0036] Various programs for implementing the present invention, which will be described later, are stored in the external memory 213, and are executed by the CPU 201 by being loaded into the RAM 203 as necessary. Furthermore, definition files and various information tables, etc., used when executing the above programs are also stored in the external memory 213, and these will also be described in detail later.

[0037] Next, the flow of processing in the present invention will be described with reference to FIG.

[0038] In step S301, the field extraction definition information (including field weights) for each category and the default extraction definition (extraction definition to be used for files with no category set or for fields not specified in the field weight set) are accepted as pre-settings. As shown in the extraction definition details screen 1300, the field extraction definition information is information in which the field name, the method of extracting the field, and the extraction definition are associated with each other for each category. For example, according to the extraction definition information shown in Fig. 13, for documents in the category "construction overview", it is possible to extract fields extracted using keywords such as "office" and "hospital" as a field called "building use".

[0039] The set extraction definition information is stored in the extraction definition DB 105 .

[0040] In step S302, a document registration process is executed for the document (search target document) received from the user. The document registration process includes extracting the text of the search target document, assigning a category, extracting fields of the search target document, and building a search index for the text and fields. The document registration process will be described in detail later with reference to FIG. 4.

[0041] In step S303, a document search process is executed based on the search term received from the user. In the document search process, a search process is executed using the search index constructed in step S302. The document search process will be described in detail later with reference to FIG.

[0042] Next, the document registration process executed by the document registration processing unit in the embodiment of the present invention will be described with reference to the flowcharts of FIGS.

[0043] The flowchart in FIG. 4 is a flowchart showing the process of registering a document in the document registration processing unit 101.

[0044] In step S401, it is determined whether processing has been completed for all documents to be registered. If processing has been completed (Yes in S401), the processing of this flowchart ends, and if documents that have not been processed remain (No in S401), the process proceeds to step S402.

[0045] In step S402, a text extraction process is performed on the document. The text extraction process is realized by a publicly disclosed technology, and any technology or method may be used.

[0046] In step S403, a category is assigned to the document. A category is assigned to classify the type of document, and in this embodiment, examples of categories are construction overview, order form, minutes, etc. The categorization here may be performed automatically by a computer or manually by a user.

[0047] In step S404, a field extraction process is performed, which will be described later with reference to FIG.

[0048] In step S405, a search index is created for the text extracted in step S402 and each field extracted in step S404, and stored in the registered document index 104. The search index is a search index used during the document search process shown in FIG.

[0049] The flowchart in FIG. 5 is a flowchart showing a process for extracting fields from a document.

[0050] In step S501, the category of the document assigned in step S403 is obtained.

[0051] In step S502, extraction definition information for the category set in step S301 is obtained from the extraction definition DB 105. If the category cannot be obtained in step S501, a default extraction definition is obtained.

[0052] In step S503, it is determined whether extraction processing has been completed for all fields defined in the extraction definition. If extraction processing has been completed (Yes in S503), the flow chart ends. If not (No in S503), the process proceeds to step S504.

[0053] In step S504, the process branches according to the extraction method of the field to be processed, which is set in the extraction definition information. For example, in the example of Fig. 13, it means that the "address" field is extracted by morphological analysis. If the extraction method is "keyword", the process proceeds to step S505, if it is "pattern", the process proceeds to step S506, and if it is "morphological analysis", the process proceeds to step S507.

[0054] In step S505, an extraction process using a keyword is performed. The details of the extraction process using a keyword will be described later with reference to the flowchart in FIG.

[0055] In step S506, an extraction process based on a pattern is performed. The details of the extraction process based on a pattern will be described later with reference to the flowchart in FIG.

[0056] In step S507, extraction processing is performed using morphological analysis. Details of the extraction processing using morphological analysis will be described later with reference to the flowchart in FIG. In step S508, the extracted fields are recorded as fields of the document in question, in association with the field names of the extraction definition information.

[0057] The flowchart in FIG. 6 is a flowchart showing a process for extracting fields from a document using a keyword method.

[0058] In step S601, it is determined whether all keywords in the extraction definition have been processed. If all keywords have been processed (Yes in S601), the flow chart ends, and if not (No in S601), the process proceeds to step S602.

[0059] In step S602, unprocessed keywords are obtained from the extraction definition.

[0060] In step S603, keyword matching is performed on the document. Any method may be used for keyword matching.

[0061] In step S604, it is determined whether the keyword exists in the document. If it does not exist (No in S604), the process proceeds to step S601, and if it does exist (Yes in S604), the process proceeds to step S605.

[0062] In step S605, it is determined whether a field name exists near the existing keyword. The extraction definition for the keyword-based extraction process is registered by associating a field name with a keyword, as shown in Fig. 13. If a field name associated with the detected keyword exists near the keyword (step S605: YES), the process proceeds to step S606, and if not (step S605: NO), the process returns to step S601.

[0063] Here, the distance between the keyword (Value) and the field name (Key) will be specifically described with reference to FIG.

[0064] As shown in Figure 13, five keywords, namely, office, hospital, restaurant, parking lot, and hotel, are associated with the field name "Building Use", so the keywords extracted from the document shown in Figure 14 are V1 "Hospital", V2 "Office", and V3 "Parking lot". Of these, V1 and V2 are on the same line as the key K1 "Building Use", and can be said to be close in distance. On the other hand, V3 is five lines away from K1, and is far away in distance, and is thought to be used in a different context from "Building Use". Therefore, when extracting keywords, the distance between the keyword and the field name is taken into consideration, and erroneous extraction can be prevented by not extracting keywords that are far away.

[0065] Returning to the explanation of Figure 6.

[0066] In step S606, the keywords extracted in step S605 are recorded as field values ​​of the document.

[0067] FIG. 7 is a flowchart showing the process of extracting a field using a regular expression pattern.

[0068] In step S701, a regular expression pattern set in the extraction definition information is obtained. An example of a regular expression pattern is ".+(law|ordinance)" in extraction definition 1304 for related laws and regulations in field name 1302 in Fig. 13. This is a regular expression for detecting a string that ends with "law" or "ordinance", and according to this condition, for example, "Building Standards Act" and "Noise Control Ordinance" can be extracted.

[0069] In step S702, pattern matching of the regular expression acquired in step S701 is performed on the document.

[0070] In step S703, it is determined whether or not all of the parts that matched in step S702 have been processed. If all patterns have been processed (Yes in S703), the processing of this flowchart ends. If not (No in S703), the processing proceeds to step S704.

[0071] In step S704, the matched portion is recorded as the value of a field in the document. Alternatively, a portion of the matched portion may be used as the value of the field by using regular expression features such as groups and named forward references.

[0072] FIG. 8 is a flowchart showing a process of extracting fields based on parts of speech obtained by morphological analysis.

[0073] In step S801, an extraction definition is obtained. For example, in this embodiment, the sequence of parts of speech defined in extraction definition 1304 for address in field name 1302 in FIG. 13 is obtained. In this case, the extraction definition is defined as the sequence of [noun-proper noun-area]. In other words, this means that a sequence of words belonging to the area category in proper nouns among nouns is extracted, and a character string such as "Konan, Minato Ward, Tokyo" is extracted.

[0074] In step S802, morphological analysis is performed on the document.

[0075] In step S803, it is determined whether there is a sequence of parts of speech that matches the extraction definition obtained in step S801. If there is no sequence of parts of speech (No in S803), the process of this flowchart ends, and if not (Yes in S803), the process proceeds to step S804.

[0076] In step S804, the matched portion is recorded as the value of the field of the document.

[0077] Next, the process executed by the document search processing unit in the embodiment of the present invention will be described with reference to FIG. 9 and FIG.

[0078] FIG. 9 is a flow chart showing the process in which the search processor 102 receives a search term as an input from the user and searches for indexed documents.

[0079] In step S901, a search term from the user is obtained.

[0080] In step S902, it is determined whether or not there is a document whose document score has not been calculated for all indexed documents. If there is a document whose document score has not been calculated (Yes in S902), the process proceeds to step S903; if not (No in S902), the process proceeds to step S908.

[0081] In step S903, documents for which the document scores have not yet been calculated are obtained.

[0082] In step S904, a search score for the body of the document is calculated. The search score is a value that numerically represents the degree of relevance to the search term. The search score for the body is called the body score. In this embodiment, the body score is a value calculated by a known search score calculation method.

[0083] In step S905, it is determined whether or not there is a field whose field score has not been calculated. If there is a field (Yes in S905), the process proceeds to step S806. If not (No in S905), the process proceeds to step S907.

[0084] In step S906, a field whose field score has not yet been calculated is obtained, and a search score for that field is calculated. This score is called the field score.

[0085] An example of a method for calculating a field score will be described with reference to Fig. 17. A case will be described in which the search term "AAA Co., Ltd. Osaka" is received from a user.

[0086] Fig. 17A shows a document entitled "Osaka Prefectural Police Officer Minutes", where the document is divided into fields, and the values ​​and weights of each field are associated with each other. Fig. 17B shows a document entitled "XX Project Overview", where, like Fig. 17A, the values ​​and weights of each field are associated with each other. Note that the weights are values ​​determined by the category of the document. Note that, for the sake of explanation, the contents shown as the values ​​of each field in Fig. 17 include character strings that do not match the extraction definition, but as explained in steps S506, S604, and S704, the character strings that match the extraction definition are registered as the values ​​of each field.

[0087] First, the number of occurrences of the search term is counted for each field.

[0088] 17A, "Osaka" appears once in the title field 1803, "Osaka" appears zero times in the person's name field 1804, and "Osaka" appears three times in the text field 1705. Then, the number of times the search term appears in each field is multiplied by the weight set for each field to find the field score.

[0089] The weight set in the title field 1803 is 2 as shown in 1806, and Osaka appears once, so 1 x 2 = 2. Similarly, the person's name field 1804 is 0 x 5 = 0, and the text field 1805 is 3 x 1 = 3. The sum of these values ​​(2 + 0 + 3 = 5) is calculated as the field score for the document "Osaka Prefectural Police Officer Minutes."

[0090] Similarly, when calculating the field score of XXProjectOverview.PDF in Figure 17B, the search term AAA Co., Ltd. appears once in the company name field, so the score is 1 x 5 = 5, Osaka appears once in the address field, so the score is 1 x 5 = 5, and AAA Co., Ltd. and Osaka appear once each in the text field, so the score is 2 x 1 = 2. The sum of these values ​​(5 + 5 + 2 = 12) is calculated as the field score of XXProjectOverview.PDF.

[0091] In step S907, the body score of the document calculated in step S904 and the field score of the document calculated in step S906 are added together. This value is called the document score.

[0092] In this embodiment, the document score is the sum of the body score and the field score, but it is also possible to use only the field score, which is a score that takes into account the weight of each field.

[0093] In step S908, the search results are displayed to the user in descending order of document score. Note that in this embodiment, a calculation method was used in which documents with a high relevance to the search term have a high document score, so the search results are displayed to the user in descending order, but if a calculation method was used in which documents with a high relevance to the search term have a low document score, the results would be displayed in ascending order. In other words, the results are sorted and displayed so that documents with a high relevance to the search term are displayed at the top of the search results.

[0094] As described above, by setting large weights in the extraction definition information for fields that characterize documents in that category, such as "person's name," "company name," and "address," and calculating the search score taking into account the weighting of each field that has been set, it is possible to display documents that better match the user's (searcher's) intent (what the user is looking for) at the top of the results, even if the documents contain the same number of search terms.

[0095] In step S909, a search session statistical information update process is performed, which will be described later with reference to the flowchart in FIG.

[0096] In step S910, a field weight update process is performed, which will be described later with reference to the flowchart in FIG.

[0097] 10 is a flow chart showing a process for updating statistical information for a user's search session. Note that a search session refers to the period from when a user obtains search results to when the user discards the search results.

[0098] In step S1001, the search session statistical information table 1400 in Fig. 15 is initialized. For all document information included in the search result, the document ID and category are set, and the session browsing count is set to 0.

[0099] In step S1002, it is determined whether the search session has ended. If it has ended (Yes in S1002), the process of this flowchart ends, and if it has not ended (No in S1002), the process proceeds to step S1003.

[0100] In step S1003, it is determined whether the user has selected a document from the search results. If not (No in S1003), the process proceeds to step S1002. If not (Yes in S1003), the process proceeds to step S1004.

[0101] In step S1004, information on the document selected by the user is obtained.

[0102] In step S1005, the entry for the document in the search session statistical information table is updated by adding 1 to the session view count in the table.

[0103] 11 is a flowchart showing the process of updating the field weights of the extraction definition using search session statistical information. By updating the field weights according to the search information, it is expected that the search accuracy will be improved.

[0104] In step S1101, the search session statistical information table 1400 in Fig. 15 is obtained. Note that what is obtained here is only the search session statistical information table for which a search session has ended.

[0105] In step S1102, the number of views for each category of hit documents is tallied. Hit documents are documents searched for by the search processing unit. By tallying up whether users have viewed documents that were hit as a result of the search, this information is used to improve the accuracy of the next search.

[0106] In step S1103, it is determined whether or not there is an unprocessed category among the categories counted in step S1102. If there is an unprocessed category (Yes in S1103), the process proceeds to step S1004; if not (No in S1103), the process proceeds to step S1109.

[0107] In step S1104, extraction definitions for unprocessed categories are obtained.

[0108] In step S1105, it is determined whether there is unprocessed field information included in the search term (an unprocessed field that corresponds to the word used as the search term among the fields set as the extraction definition of the category). If there is unprocessed field information (Yes in S1105), the process proceeds to step S1106; if not (No in S1105), the process proceeds to step S1103.

[0109] In step S1106, it is determined whether the number of session views of the category is greater than 0. If it is greater than 0 (Yes in S1106), the process proceeds to step S1107; if not (No in S1106), the process proceeds to step S1108.

[0110] In step S1107, since the number of sessions viewed for that category is greater than 0, it is considered that the field contributed to the search, and the field weight for that field is increased by (number of sessions viewed) x 0.01. This calculation formula is merely an example, and other calculation methods may be used.

[0111] In step S1108, since the number of sessions viewed for that category is 0, it is considered that the field does not contribute to the search, and the field weight for that field is reduced by 0.01. This calculation formula is merely an example, and other calculation methods may be used.

[0112] In step S1109, the search session statistical information table, which is no longer necessary, is discarded.

[0113] Here, an example of the field weight update process will be described with reference to FIG. 11. First, assume that a search term including "address" and "building use" is used as a search term, and the search session statistical information table at the end of the search session is 1400 in FIG. 16. Also assume that the extraction definitions of the categories "construction overview", "order form", and "minutes" are 1500, 1600, and 1700, respectively. Also, the field weight update formula is to add (session view count) x 0.01 if the session view count is greater than 0, and to subtract 0.01 if it is 0. In this case, the session view count for each category of the search results from table 1300 is 2 for construction overview, and 0 for order form and minutes. The field weight update for construction overview is to add 2 x 0.01 = 0.02 because both the fields "address" (1501 in FIG. 16) and "building use" (1502 in FIG. 16) are defined, and the updated field weights are 3.02 and 2.02, respectively. The field weight of the purchase order is updated by subtracting 0.01 because only "Address" (1601 in Figure 16) is defined, and the field weight after the update is 0.09. The field weight of the minutes is not updated because neither "Address" nor "Building use" is defined.

[0114] 12 is a screen for confirming, adding, and deleting currently defined extraction definitions. An extraction definition list screen 1200 comprises an extraction definition add button 1201, a delete all button 1202, check boxes 1203, an edit button 1204, and an individual delete button 1205.

[0115] Pressing an add extraction definition button 1201 transitions to an extraction definition details screen (FIG. 13) for creating a new extraction definition.

[0116] Pressing the all delete button 1202 causes all extraction definitions for which check boxes 1203 are enabled to be deleted at once.

[0117] A check box 1203 is for enabling collective deletion using the collective deletion button 1202 when it is enabled.

[0118] Pressing an edit button 1204 transitions to an extraction definition details screen (FIG. 13) for editing the selected extraction definition.

[0119] The individual deletion button 1205 is used to delete a selected extraction definition by pressing it.

[0120] 13 is a screen for adding, confirming, and editing details of an extraction definition. An extraction definition details screen 1300 comprises a category name text box 1301, a field name text box 1302, an extraction method pull-down list 1303, an extraction definition text box 1304, a field weight text box 1305, a delete field button 1306, and an add extraction definition field button 1307.

[0121] When transitioning to this screen is made by pressing the add extraction definition button 1101 on the extraction definition list screen 1100, the category name text box 1301 is blank, and the field name text box 1302, extraction method pull-down list 1303, extraction definition text box 1304, and field weight text box 1305 are not displayed in the initial state. Also, when transitioning to this screen is made from the edit button on the extraction definition list screen 1200, the contents of the extraction definition are displayed in the category name text box 1301, field name text box 1302, extraction method pull-down list 1303, extraction definition text box 1304, and field weight text box 1305.

[0122] A category name text box 1301 is used to set a name to be given to this extraction definition.

[0123] The field name text box 1302 is for setting the name of the field.

[0124] The extraction method pull-down list 1303 is for selecting an extraction method, which can be selected from "keyword," "pattern," and "morphological analysis."

[0125] The extraction definition text box 1304 is used to set the definition of extraction. If the extraction method is "keyword", a list of keywords to be extracted is set. If the extraction method is "pattern", a regular expression pattern is set. If the extraction method is "morphological analysis", a sequence of morphemes to be extracted is set.

[0126] The field weight text box 1305 is for setting the field weight.

[0127] A field delete button 1306 is used to delete the extraction definition of the field by pressing it.

[0128] Pressing the add extraction definition field button 1307 adds a blank field name text box 1302, extraction method pull-down list 1303, extraction definition text box 1304, field weight text box 1305, and field delete button 1306 to the bottom row, allowing a new field to be defined.

[0129] In this way, by setting extraction definitions for each category, it is expected that search accuracy will improve. For example, when comparing the construction summary of the architectural design document in the registered documents with the purchase order, the address (construction location) information in the construction summary is a very important item due to differences in topography and applicable local government ordinances, whereas the address in the purchase order is not particularly important information. Therefore, by setting the field weight high (e.g. 3) for the construction summary and low (e.g. 0.1) for the purchase order, it is possible to express the difference in importance of each category in the same field. By setting it in this way, when searching by address, the construction summary, which has a high search score, is expected to appear at the top of the search results, and the purchase order, which has a low search score, is expected to appear at the bottom of the search results, making it easier to obtain search results that are in line with the search user's intentions.

[0130] If field weights were not set for each category, and if a search was made by address and addresses were set to take priority regardless of the category of the document, both construction summaries and purchase orders would be mixed in the search results, which would reduce user convenience.

[0131] The search session statistical information table 1400 in FIG. 15 is a table for holding statistical information on search sessions, and includes items of document ID 1401, category 1402, and number of views per session 1403. The document ID 1401 is an item for identifying a document hit by a search, and the ID of the hit document is registered.

[0132] In the category 1402, the category of the document is registered.

[0133] The number of times a user viewed the document during a search session is recorded in the number of times a session was viewed 1403 .

[0134] Although the present embodiment has been described above, the present invention can be embodied, for example, as a system, an apparatus, a method, a program, or a recording medium, etc. Specifically, the present invention may be applied to a system composed of multiple devices, or may be applied to an apparatus composed of a single device.

[0135] Furthermore, the program of the present invention is a program that enables a computer to execute the processing methods of the flowcharts shown in Figures 3 to 11, and the storage medium of the present invention stores a program that enables a computer to execute the processing methods of Figures 3 to 11.

[0136] As described above, it goes without saying that the object of the present invention can be achieved by supplying a recording medium on which a program that realizes the functions of the above-mentioned embodiments is recorded to a system or device, and having the computer (or CPU or MPU) of that system or device read and execute the program stored on the recording medium.

[0137] In this case, the program itself read out from the recording medium will realize the novel functions of the present invention, and the recording medium on which the program is recorded will constitute the present invention.

[0138] Examples of recording media for supplying the program include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, DVD-ROMs, magnetic tapes, non-volatile memory cards, ROMs, EEPROMs, silicon disks, etc.

[0139] Furthermore, it goes without saying that the functions of the above-mentioned embodiments are not only realized by the computer executing a program it has read, but also includes cases where an OS (operating system) running on the computer performs some or all of the actual processing based on the instructions of the program, and the functions of the above-mentioned embodiments are realized through that processing.

[0140] Furthermore, it goes without saying that this also includes cases where a program read from a recording medium is written into a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to a computer, and then a CPU or the like provided on the function expansion board or function expansion unit performs some or all of the actual processing based on the instructions of the program code, thereby realizing the functions of the above-mentioned embodiments.

[0141] The present invention may be applied to a system consisting of multiple devices, or to an apparatus consisting of a single device. Needless to say, the present invention can also be applied to a case where the object of the present invention is achieved by supplying a program to a system or apparatus. In this case, the effect of the present invention can be enjoyed by the system or apparatus by reading a recording medium storing a program for achieving the present invention into the system or apparatus.

[0142] Furthermore, by downloading and reading a program for achieving the present invention from a server, database, etc. on a network using a communication program, the system or device can enjoy the effects of the present invention. Note that the present invention also includes configurations that combine the above-mentioned embodiments and their modified examples. [Explanation of symbols]

[0143] 2000 Document Search System 100 Information processing device 101 Document registration processing unit 102 Document search processing unit 103 Morphological Analysis Dictionary 104 Registered Document Index 105 Extract definition DB 106 Search Session Statistics 107 Document DB 108 Client PCs

Claims

1. a definition information receiving means for receiving definition information that defines, for each document category, a document field, a character string to be extracted from the field, and a weight of the field; an extraction means for extracting the character string from each of a plurality of documents to be searched for, based on the definition information corresponding to a category related to the document to be searched for, the document to be searched for, for each field of the document to be searched for; a search term receiving means for receiving a search term used to search for the document to be searched from a user; a score calculation means for calculating a search score for each of a plurality of documents to be searched based on a search score calculated for each field of the document to be searched, based on the search term received by the search term receiving means, the character string extracted from the document to be searched by the extraction means, and the field weights related to the character strings defined by the definition information; An information processing system comprising:

2. 2. The information processing system according to claim 1, wherein the score calculation means calculates a total value of the search scores calculated for each of the fields as the search score of the document to be searched.

3. The information processing system according to claim 1 or 2, characterized in that the score calculation means calculates the search score for each field based on the number of extracted character strings that match the search term in that field and a weight for that field.

4. The information processing system according to any one of claims 1 to 3, characterized in that the score calculation means calculates the search score for each field by multiplying the number of extracted character strings that match the search term in that field by the weight of that field.

5. the definition information defines, for each of the fields, one of a morphological analysis, a keyword match, and a regular expression pattern as a method for extracting a character string from the field; 5. The information processing system according to claim 1, wherein the extraction means extracts the character string for each field of the document to be searched, based on an extraction method defined in the definition information.

6. 6. The information processing system according to claim 1, further comprising a display control means for controlling display of search results based on the search term on the basis of the search score calculated by the score calculation means.

7. An information processing system as described in any one of claims 1 to 6, further comprising an update means for updating the weight of the field in definition information corresponding to the category related to the searched document based on the viewing history of the document searched for by the search term.

8. 8. The information processing system according to claim 7, wherein said updating means increases a weight of said field in definition information corresponding to a category related to the viewed document.

9. 9. The information processing system according to claim 7, wherein the update means reduces a weight of the field in the definition information corresponding to a category related to documents that have not been viewed.

10. a definition information receiving step in which a definition information receiving means of the information processing system receives definition information that defines a field, a character string to be extracted from the field, and a weight of the field for each document category; an extraction step in which an extraction means of the information processing system extracts the character string from each of a plurality of documents to be searched for, based on the definition information corresponding to a category related to the document to be searched, the document to be searched for, for each field of the document to be searched; a search term receiving step in which a search term receiving means of the information processing system receives a search term for searching the documents to be searched from a user; a score calculation step in which a score calculation means of the information processing system calculates, for each of a plurality of documents to be searched, a search score for the document to be searched based on the search scores calculated for each field of the document to be searched, based on the search terms received in the search term receiving step, the character strings extracted in the extraction step, and the weights of the fields related to the character strings defined in the definition information; An information processing method comprising:

11. A program for causing a computer to function as each of the means according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Method for classifying documents, electronic device and computer program product

    CN110390094A

  • Document retrieving device

    JP1998049549A

  • Document retrieval device

    JP2005063468A

  • Method, electronic device and computer program product for categorization for document

    US20190325212A1

  • Document retrieval system

    US6154737A