Information processor, control method, and program

JP2025013554A5Pending Publication Date: 2026-04-23CANON MARKETING JAPAN INC +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON MARKETING JAPAN INC
Filing Date
2024-11-07
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

Existing document search methods fail to provide desirable results when searching for document sections that contain multiple search keywords, often missing relevant sections or including irrelevant ones, and do not efficiently utilize statistics like inverse document frequency (IDF) for ordering search results.

Method used

An information processing device that searches for document sections by using a document search unit to perform AND searches for documents containing all search keywords, followed by OR searches for document sections, with score calculations using TF-IDF or BM25 to prioritize relevant sections, and displays snippets of the search results.

Benefits of technology

This approach ensures that search results include only relevant document sections matching the searcher's intent, even if the entire document does not contain all search keywords, and effectively utilizes IDF to rank results, providing comprehensive and accurate search outcomes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a mechanism for obtaining a search result that is desirable for a searcher when searching document data.SOLUTION: An information processor for searching for a section included in a document includes output control means that controls output of a section including at least one of a plurality of character strings included in a document including the plurality of character strings with respect to the plurality of character strings which are search conditions.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This relates to a technique for searching document data. [Background technology]

[0002] In document retrieval, there is a challenge in dividing a document into multiple document sections and then searching each document section, especially when the goal of the search is to find a specific document section.

[0003] For example, when searching for a document that has been transcribed from a meeting, the entire transcript of a meeting can be regarded as one document, and the transcripts of individual utterances can be regarded as document sections. Here, an utterance is a continuous speech by one speaker, and the entire meeting can be divided into multiple utterances by appropriate markers such as speaker changes and breath breaks. When a meeting contains a variety of topics, there are times when it is desirable to search for individual utterances rather than searching the entire meeting, and in such cases, searching for individual utterances is useful.

[0004] The Diet deliberation video search system described in Non-Patent Document 1 is a system that performs a full-text search of comments made during Diet deliberations and enables users to view videos of deliberations related to the comments obtained as search results. The search is performed on a per-comment basis, and the list of search results shows the name of the meeting and the speaker.

[0005] Patent Document 1 shows a method of dividing a document such as a web page that contains a variety of topics into multiple text blocks and searching for text blocks that contain all of the search queries. Furthermore, the method uses the linguistic features of the text blocks when determining the order in which the text blocks are output as search results.

[0006] Patent Document 2 shows a method of searching documents using a search index for the entire document, and then extracting sub-sentences containing a search term based on the sub-sentence structure for each retrieved document and displaying them as search results. The process of extracting sub-sentences is performed as part of the process at the time of the search, and documents obtained as search results are dynamically analyzed. Patent Document 2 also shows a method of concisely displaying the context of the search term using the sub-sentence structure. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] JP 2010-257155 A [Patent Document 2] JP 2003-242175 A [Non-patent literature]

[0008] [Non-Patent Document 1] Mikitaka Masuyama, "Status of development of functions for video search system for Diet deliberations," GRIPS Discussion Paper 20-11, GRIPS Policy Research Center, December 2020 DISCLOSURE OF THEINVENTION [Problem to be solved by the invention]

[0009] In a method such as that described in Patent Document 1, in which a search query containing multiple search keywords is given and document sections that contain all of the search keywords are searched for, even if a document matches the searcher's intent when several document sections in the document are viewed comprehensively, the search will not return a hit if there is no document section that contains all of the search keywords. In particular, when document sections are divided into short units, no hits are likely to occur.

[0010] On the other hand, the method of finding a hit if any document section contains any one of the search keywords has the problem that it may find document sections that do not match the searcher's intent.

[0011] The method of searching documents using a search index for the entire document and then dynamically analyzing the documents to narrow down the document sections as in Patent Document 2 has the problem that efficient searches using the document section index are not possible. Another problem is that statistics related to the entire set of document sections, such as the inverse document frequency (IDF) of keywords in document section units, cannot be used to order search results.

[0012] In view of the above problems, an object of the present invention is to provide a mechanism for obtaining search results that are desirable for a searcher when searching document data. [Means for solving the problem]

[0013] The present invention is an information processing device for searching for sections contained in a document, and is characterized by having an output control means for controlling the output of a section containing at least one of a plurality of character strings that are search criteria and that is contained in a document containing the plurality of character strings. Effect of the Invention

[0014] According to the present invention, it is possible to provide a mechanism by which a searcher can obtain search results that are desirable for the searcher. [Brief description of the drawings]

[0015] [Figure 1] 1 is a diagram illustrating an example of a system configuration of a document search system according to an embodiment of the present invention. [Diagram 2] FIG. 1 is a diagram illustrating an example of a hardware configuration of a document search system according to an embodiment of the present invention. [Diagram 3]1A is a diagram showing an example of document data (A), a document inverted index (B), and a document frequency table (C) stored in a document DB in an embodiment of the present invention. FIG. [Figure 4] 2A and 2B are diagrams showing an example of document section data stored in a document section DB, a document section inverted index, and a document section frequency table according to an embodiment of the present invention. [Diagram 5] 11 is a flowchart illustrating an example of a search process in the embodiment of the present invention. [Figure 6] FIG. 11 is a diagram showing an example of a search screen in the embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

[0017] FIG. 1 is a diagram showing an example of a system configuration of a document search system 100 according to an embodiment of the present invention.

[0018] The document search system 100 is connected to a client terminal via a network, receives character strings from the client terminal as a search query, performs document search processing, and returns search results for documents and document sections to the client terminal. A document section is a subunit of a document that constitutes a document, such as a section, chapter, paragraph, sentence, or statement. The document search system 100 comprises a document search unit 110 that performs document search processing, a document DB 120 that stores document data as shown in FIG. 3, and a document section DB 130 that stores document section data as shown in FIG. 4.

[0019] The document search unit 110 is connected to the document DB 120 and the document section DB 130 via a network or a bus. In the document search process performed by the document search unit 110, it is possible to obtain document and document section data stored in these DBs.

[0020] FIG. 2 is a block diagram showing an example of a hardware configuration of the client terminal and the document search system 100 according to the embodiment of the present invention.

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

[0022] The CPU 201 comprehensively controls each device and controller connected to a system bus 204 .

[0023] ROM 202 or external memory 211 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).

[0024] 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 211 into the RAM 203, and executes the loaded programs to realize various operations.

[0025] The input controller 205 controls input from an input device such as a keyboard 209 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.

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

[0027] The video controller 206 controls display on an external output device such as a display 210. 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 devices capable of receiving the above-mentioned touch operation, an input device is also provided.

[0028] The video controller 206 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.

[0029] The memory controller 207 controls access to the external memory 211. 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.

[0030] The communication I / F controller 208 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.

[0031] The CPU 201 enables display on the display 210 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) on the display 210.

[0032] Figure 3 shows data stored in the document DB 120. Three types of data related to documents are stored in the document DB 120: document data shown in Figure 3(A), a document inverted index shown in Figure 3(B), and a document frequency table shown in Figure 3(C). The document inverted index and the document frequency table are auxiliary data derived from the document data in order to efficiently perform full-text searches.

[0033] The document data in Figure 3(A) contains a document ID, original text, and metadata as items in one entry. The document ID is an identifier for uniquely identifying a document. The original text is character string data, and is the text portion of the document that is the target of full-text search. Metadata is additional information about the document other than the document ID and original text. For example, a transcript of a meeting can include character string data for the title of the meeting and the date data for the day the meeting was held. The data that is saved as metadata is not limited to this, and a variety of data can be saved depending on the characteristics of the document.

[0034] The document transposed index in FIG. 3(B) is data with a structure in which the search keyword is used as a key and a list of the occurrence positions in the document is used as a value. The occurrence positions in the document consist of the document ID, the number of occurrences of the search keyword in the original text in the document, and a list of the occurrence positions in the original text of the search keyword in the document. The occurrence position in the original text is the number of characters counted from the beginning of the string in the original text to the start of the substring that matches the search keyword. If the search keyword appears multiple times in the original text, the occurrence position in the original text is saved for each occurrence. One occurrence position in the document is registered for each pair of document and search keyword. However, if the search keyword does not appear in the original text of the document, it is not registered. The data structure of the document transposed index shown in FIG. 3(B) is only an example, and other data structures may be used as long as the occurrence positions in the document can be referenced from the search keyword.

[0035] The document frequency table in Fig. 3(C) includes search keywords and document frequencies as items. The document frequency is the number of documents in which the search keyword appears in the original text. Even if the same search keyword appears multiple times in one document, it is counted in the document count only once per document. In addition, there is a special entry called <total number of documents>, which stores the number of document data stored in the document DB 120.

[0036] The document inverted index and document frequency table are created when the document data entry is registered in the document DB. A general morphological analysis search is performed on the original text of the document data to identify search keywords and their occurrence positions, and the document inverted index and document frequency table are updated.

[0037] Fig. 4 shows data stored in the document section DB 130. Three types of data related to document sections are stored in the document section DB 130: document section data in Fig. 4(A), an inverted index for document sections in Fig. 4(B), and a document section frequency table in Fig. 4(C).

[0038] The document section data entries are created by dividing the document data entries included in the document DB 120, and the relationship between the document data entries and the document section data entries is one-to-many. An example of a method for dividing a document into document sections is to divide an HTML or XML document by tag. Another method is to divide the document into sentences based on punctuation information in the original text and divide each sentence. Alternatively, when a document is created by transcribing conference speech using a speech recognition system, if the speech recognition system generates a transcription divided by utterance, the unit of the utterance can be used as the division unit. Alternatively, the division can be explicitly given manually. It should be noted that the division method is not limited to these methods.

[0039] The inverted index for document sections and the document section frequency table are auxiliary data derived from the document section data to perform efficient full-text searches.

[0040] The document section data in FIG. 4(A) includes an original document ID, a document section ID, original text, and metadata as items in one entry. The original document ID is the document ID of the document that was split. The document section ID is an identifier that uniquely identifies the document section. The original text is character string data, and should be part of the original text of the document data that was split. When performing a full-text search of the document section, the original text is the target. The metadata is additional information unique to the document section, and values ​​are created when the document data is split. For example, in the case of a document section in which a document that is a transcription of a meeting voice is split into utterance units, it can include character string data of the speaker who made the utterance and time data of the time in the meeting when the utterance was made. The items saved as metadata are not limited to this, and various data can be saved according to the characteristics of the document section.

[0041] The inverted index for document sections in Figure 4(B) is data with a structure in which search keywords are used as keys and the list of occurrence positions within document sections is used as values. It has almost the same structure as Figure 3(B), but here the original text is divided into sections as the unit of the original text, and document section IDs are used instead of document IDs.

[0042] The document section frequency table in Fig. 4(C) contains search keywords and document section frequencies as items. It has almost the same structure as Fig. 3(C), but here the source text is treated as a unit of source text by section, and the number of sections in which the search keyword appears is counted. There is also a special entry called <total number of document sections>, which stores the number of document section data stored in the document section DB 130.

[0043] In the following explanation of the flowchart, the contents of the document DB shown in Fig. 3 and the contents of the document section DB shown in Fig. 4 will also be referred to. The examples in Fig. 3 and 4 are simulating the transcription of a development project review meeting in an IT company. It is assumed that the transcribed text of one meeting is stored as one entry in the document DB 120, and the transcription is divided into utterance units and stored as one entry in the document section DB 130.

[0044] The document search process executed by the document search unit 110 in the embodiment of the present invention will be described with reference to the flowchart in Fig. 5. This document search process is executed when the document search system 100 receives a search query from a client terminal. As an example, a case where the character string "Estimate Basis" is received as the search query will be described.

[0045] In step S501, one or more search keywords are extracted from the character string of the received search query. A general morphological analysis process is performed on the search query to divide it into words, and each word is used as a search keyword. If the character string of the search query is a space-separated character string, morphological analysis and word extraction are performed on each substring separated by a space, and the union of the search keywords obtained for each substring is used as the overall search keyword.

[0046] For example, if the search query string is "estimate basis", morphological analysis is performed on the substrings "estimate" and "basis" separated by spaces. When "estimate" is subjected to morphological analysis, "estimate" itself is extracted as a search keyword. Similarly, when "basis" is subjected to morphological analysis, "basis" itself is extracted as a search keyword. Ultimately, the two search keywords "estimate" and "basis" are obtained. Note that results may differ from this example depending on the dictionary used in the morphological analysis process and the processing method used in the morphological analysis process.

[0047] In step S502, an AND search is performed on all search keywords included in the search query from the document DB 120, and score calculation is performed on the documents for the order of display of search results.

[0048] In order to efficiently search for target documents in this process, it is useful to use the document inverted index shown in Figure 3(B). The process of obtaining the records of the document inverted index using the search keywords as a key and obtaining a list of document IDs in which the search keywords appear is performed for all search keywords. The documents whose document IDs are obtained from all search keywords are the documents that become the search results.

[0049] The score calculation uses the document inverted index in Figure 3(B) and the document frequency table in Figure 3(C). For example, consider the case where TF-IDF is used as the score. In this paper, a function that decreases with respect to the number of occurrences is used as TF. When the number of occurrences of search keyword w in document d is freq(d,w), TF can be calculated as follows:

[0050] TF(d,w)=sqrt(freq(d,w)) Here, sqrt is a function that takes the square root of the argument value. The value of TF can be calculated efficiently using the inverted index for documents.

[0051] By using a diminishing return function for the number of times a search keyword appears, when multiple search keywords are given, two search keywords appearing once each are more likely to get a higher score than one search keyword appearing twice. This means that documents or document sections in which multiple search keywords appear evenly can be ranked higher, resulting in more desirable search results for searchers.

[0052] In this embodiment, the IDF with smoothing is used. The IDF with smoothing can be calculated as follows, where w is the search keyword, DF(w) is the document frequency of the search keyword w, and D is the total number of documents.

[0053] IDF(w)=log((D+1) / (DF(w)+1))+1 This IDF can be computed efficiently using document frequency tables.

[0054] The TF-IDF value of document d for search keyword w can be calculated by multiplying TF(d,w) and IDF(w). If multiple search keywords are given, the TF-IDF of each search keyword is added together. The value obtained by the above process is the score of the document.

[0055] Note that the score calculation method described here is an example, and other methods may be used to calculate the TF-IDF. Furthermore, methods other than TF-IDF may be used, such as the well-known BM25 method.

[0056] The document search process and score calculation process can be performed simultaneously in parallel while scanning the document inverted index once.

[0057] For each document in the search results, the document ID and metadata are stored and used in the following steps, although it is also possible to store only a portion of the metadata required for displaying the search results.

[0058] For example, when the search keywords are "estimate" and "basis," consider searching from a document DB 120 as shown in Figure 3. The document DB 120 in Figure 3 contains three documents with document IDs 1, 2, and 3. There are a total of 100 documents, but documents other than these three are omitted in Figures 3(A) and 3(B), and the following explanation will also refer only to these three documents.

[0059] An AND search is performed on this document DB using the document inverted index to find documents that contain both the words "estimate" and "basis." Document IDs 1 and 2 appear in both the "estimate" and "basis" entries in the document inverted index, so they are included as documents in the search results. On the other hand, document ID 3 appears only in the "basis" entry, so it is excluded from the search results.

[0060] Compared to the method of searching documents based on the search results by document section, OR search by document section returns all documents with document IDs 1, 2, and 3 as search results, while AND search by document section returns only document ID 1, which contains document section ID 1_18, which contains a statement that contains both "estimate" and "basis". This method is different from both of these and returns the same results as AND search by document section. OR search by document section may return document sections that do not match the searcher's intention, while AND search by document section has the problem that even if a document matches the searcher's intention, it will not be returned if there is no document section that contains all the search keywords. In this method, a balanced AND search by document section is first used to narrow down the search to documents that contain all the search keywords. In a later step, OR search by document section is used to obtain document sections that contain one or more search keywords, and the scores are adjusted.

[0061] While searching for documents from the inverted document index, score calculation can be performed at the same time. This time, we will explain using TF-IDF as the score calculation method. For example, when we look at the part of the entry for the search keyword “quote” in the document inverted index where the document ID is 1, we obtain the value TF(document with document ID 1, quote)=sqrt(3).

[0062] In addition, for the search keywords "estimate" and "basis", the document frequency table gives 98 and 99 as document frequencies, respectively. Furthermore, the value of <total number of documents> is given as 100. As a result, the IDF can be calculated as IDF(estimate) = log(101 / 99) + 1, and IDF(basis) = log(101 / 100) + 1.

[0063] Finally, the score of the document with document ID 1 is calculated as TF(document with document ID 1, estimate) x IDF(estimate) + TF(document with document ID 1, evidence) x IDF(evidence). The same is true for the document with document ID 2.

[0064] 6, for documents with document IDs 1 and 2, the titles are also obtained and stored as metadata from the document DB 120. The date of the event may or may not be obtained.

[0065] As shown in this example, the search results are narrowed down to documents that contain all of the search keywords. This makes it possible to return only documents that match the searcher's intent.

[0066] However, when creating a document frequency table for the entire document set when each document contains a variety of topics, the difference in IDF values ​​for each search keyword may be small. In the above example, the IDF for "estimate" is log(101 / 99)+1 and the IDF for "reason" is log(101 / 100)+1, but the difference is very small. The purpose of IDF is to give a higher weight to rare search keywords in the score calculation, but there is an issue in that this purpose cannot be achieved if the difference in IDF for each search keyword is small. We will address this issue in the following steps.

[0067] In step S503, using the search keywords and the set of document IDs of the documents obtained as search results in step S502, the document section DB 130 is searched for document sections by narrowing down the original document IDs and ORing all the search keywords, and a score is calculated for the document sections to determine the order of display of the search results. To efficiently perform this search process and score calculation process, it is useful to use the inverted index for document sections in Fig. 4(B) and the section document frequency table in Fig. 4(C).

[0068] The process of obtaining a record of the inverted index for document sections using the search keyword as a key and obtaining a list of document section IDs in which the search keyword appears is performed for all search keywords. Since this is an OR search, the search results are document sections whose document section IDs are obtained from one or more search keywords. However, if the original document ID of a document section is not included in the document ID set obtained in step S502, that document section is excluded from the search results.

[0069] The score calculation is performed using TF-IDF or BM25, as explained in step S502. It can also be calculated using BM15, a variant of BM25. BM15 is a calculation method that removes the effects of the number of words and characters in a document section from BM25. If the document sections are divided at an appropriate granularity that is easy for humans to understand, it is expected that the search results will be more appropriate if the effects of the number of words and characters in the document section are removed using BM15.

[0070] In addition, snippets that represent strings around the search keyword in the original document section are extracted at the same time as the search process in order to display them in the search results. A snippet is data that consists of a snippet string and a list of the start and end positions of the search keyword. A snippet string is a substring of the original search section, and contains the search keyword one or more times in the snippet string.

[0071] The process of extracting snippets utilizes the position of occurrence in the original text of the search keyword contained in the transposed index for document sections. For example, by referring to the position of occurrence in the original text and the original text, a string consisting of the search keyword and Nsn characters before and after the search keyword can be extracted as a snippet string. The start and end positions of the search keyword can also be found from the position of occurrence in the original text. Here, Nsn is a setting value set in the document search system 100.

[0072] Alternatively, the snippet string may simply be the entire document section original text. In this case, the start and end positions of the search keyword are also calculated from the position of the keyword in the original text in the inverted index for the document section.

[0073] For each document section in the search results, the document section ID, the original document ID, the snippet, and metadata are retained for use in the following steps, although the metadata can also be retained only for a subset of values ​​required for displaying the search results.

[0074] As an example, a search will be described using the document section DB 130 shown in Fig. 4. The document section DB 130 in Fig. 4 includes 80 document sections whose original document ID is 1 and whose document section IDs are 1_1 to 1_80, and 120 document sections whose original document ID is 2 and whose document section IDs are 2_1 to 2_120. Other original document IDs are omitted.

[0075] Using the document section inverted index from this document section DB, a search is performed for document sections whose original document ID is 1 or 2 and which contain at least one of "estimate" and "basis." However, because the document section inverted index alone cannot determine whether the original document ID is 1 or 2, the document section data is also referenced to narrow down the search by original document ID.

[0076] The search results will then yield document sections with document section IDs 1_7, 1_18, 1_19, 2_10, and 2_14.

[0077] While searching for document sections from the inverted index for document sections, score calculation can be performed at the same time. This time, we will use TF-IDF as the score calculation method.

[0078] For example, looking at the entry for the search keyword "quote" in the document section inverted index and looking at the part where the document section ID is 1_18 in the document section occurrence position, we obtain the value TF(document section with document section ID 1_18,quote) = sqrt(1). Similarly, we can obtain values ​​such as TF(document section with document section ID 1_7,quote) = sqrt(2).

[0079] For the search keywords "estimate" and "basis", the document section frequency values ​​of 200 and 1000 are obtained from the document section frequency table, respectively. Furthermore, the value of <total number of document sections> is obtained as 10000.

[0080] As a result, IDF can be calculated as follows: IDF(estimate) = log(10001 / 201) + 1, IDF(evidence) = log(10001 / 1001) + 1.

[0081] Finally, the score of the document section with document section ID 1_18 is calculated as TF(document section with document section ID 1_18, estimate) × IDF(estimate) + TF(document section with document section ID 1_18, evidence) × IDF(evidence). The same applies to other document sections.

[0082] Finally, when comparing document sections with document section IDs 1_7, 1_18, and 1_19, (score of 1_18)>(score of 1_7)>(score of 1_19), and the display order in the search results will be based on this score.

[0083] On the other hand, when comparing document sections with document section IDs 2_10 and 2_14, one of the search keywords appears once in each, so there is no difference in the TF values. However, since IDF(estimate) > IDF(reason), the score of 2_14, where "estimate" appears, is higher than the score of 2_10, where "reason" appears. Therefore, the display order in the final search results will be 2_14, then 2_10.

[0084] An example of snippet extraction will also be explained. Assuming that comments are divided into sections that are easy for searchers to see at a glance, the original text of each document section itself will be used as the snippet string. For the document section with document section ID 1_18, the snippet string "What is the basis for this estimate?" is extracted. Furthermore, from the document section transposed index and the number of characters in the search keyword, it can be seen that "estimate" is the third to sixth characters in the snippet string. Similarly, it can be seen that "basis" is the eighth to ninth characters in the snippet string. This snippet string and the start and end positions of the search keyword are taken as the snippet for the document section with document section ID 1_18.

[0085] When it is desired to display the search results as shown in FIG. 6, the speaker and the time in the conference are also obtained and stored as metadata from the document section DB 130 for each document section in the search results.

[0086] As shown in this example, the search results will be those document sections that contain one or more of the multiple search keywords. This makes it possible to display some document section as a search result even for documents that do not have a document section that contains all the search keywords, such as document ID 2.

[0087] Furthermore, even if there is little difference in the IDF of search keywords on a document-by-document basis, there is a greater chance of a difference in IDF on a document section-by-document basis, and document sections that contain particularly rare search keywords can be displayed at the top. In the above example, IDF(estimate) = log(10001 / 201) + 1, and IDF(evidence) = log(10001 / 1001) + 1, so two search keywords that had no difference in IDF on a document-by-document basis have a difference that appears when viewed on a document section-by-document basis and is reflected in the score.

[0088] In step S504, for each document section obtained as a search result in step S503, an original document is determined from the document list that is the search result of step S502. Specifically, if the original document ID of a document section matches the document ID of a document, the document is the original document of the document section. Then, data is constructed for each original document with multiple document sections as child elements. For example, for a document with a document ID of 1 in the search results, the document sections with document section IDs 1_7, 1_18, and 1_19 that are search results are set as child elements. Also, for a document with a document ID of 2, the document sections with document section IDs 2_10 and 2_14 that are search results are set as child elements.

[0089] In step S505, for each document, the document score is updated by adding the score of the document section of the child element (S503) to the document score (S502).

[0090] However, if a document has multiple child document sections and multiple scores are calculated, it is desirable to take the maximum score of the document sections and add it to the document score. There is also a method of adding up the scores of all document sections, but this method has the problem that the score of a document with a large number of document sections will be excessively large.

[0091] Using the examples so far, the score of the document with document ID 1 is recalculated as (the score of the document with document ID 1 calculated in step S502) + (the maximum of the scores of the document sections with document section IDs 1_7, 1_18, and 1_19 calculated in step S503). The same is true for the document with document ID 2. In the examples that follow, we will assume that (score of document with document ID 1) > (score of document with document ID 2).

[0092] In this way, by recalculating the document score from the overall document score and the document section scores, it is possible to set the display order based on a comprehensive assessment of the relevance of the document as a whole to the search query, and the relevance of the document section in the document that is most relevant to the search query.

[0093] In step S506, the documents are sorted in descending order of score, and narrowed down to the top Nd documents in terms of score. Nd is the number of documents returned to the searcher as search results. The value of Nd may be built into the document search system 100 as a setting value, or may be specified by the searcher at the time of search. Note that if the number of documents obtained as search results is Nd or less, only sorting is performed.

[0094] For example, when Nd=10 is specified in the document search system 100, the search results contain two documents with document IDs 1 and 2, so they are simply rearranged and the documents are sorted in descending score order by document ID 1, 2. Alternatively, when Nd=1 is specified, the results are narrowed down to only the document with the highest score, document ID 1, and the document with document ID 2 is removed. The following explanation assumes that Nd=10.

[0095] In step S507, each document is processed by sorting the document sections that are child elements of that document in descending order of score, narrowing down to the top Ns document sections with the highest scores, and excluding the rest. Ns is the number of document sections per document that are returned to the searcher as search results. The value of Ns may be built into the document search system 100 as a setting value, or may be specified by the searcher at the time of search. Note that if the number of document sections for each document is Ns or less, only sorting is performed.

[0096] As an example, description will be given using document sections with document section IDs of 1_7, 1_18, and 1_19, which are child elements of a document with document ID 1. When Ns=10 is specified in document search system 100, there are three document sections, so only sorting is performed. As a result, all document sections are sorted in descending score order, and search results are created in the order of document section IDs 1_18, 1_7, and 1_19. Alternatively, when Ns=2 is specified in document search system 100, two document sections are sorted in descending score order, and search results are created in the order of document section IDs 1_18, 1_7. The following description will be given assuming Ns=10.

[0097] By performing the search process as described above, data consisting of an ordered set of documents and an ordered set of document sections as child elements of each document is created as search results. The search results include metadata of the documents and document sections, and snippets of the document sections. The document retrieval system 100 transmits the generated retrieval results to the client terminal.

[0098] 6 is an example of a search screen displayed on a client terminal. The client terminal uses the search screen to send a search query to the document search system 100 and display the search results received from the document search system 100.

[0099] The search screen includes a search query input field 601 and a search button 602. When a searcher inputs a character string as a search query in the search query input field 601 and presses the search button 602, a search instruction is transmitted from the client terminal to the document search system 100. The search screen includes a document frame 603 for each document in the search results. Note that in the initial state when the client terminal displays the search screen, the client terminal does not hold the search results, so the document frame 603 is not displayed.

[0100] The document frame 603 contains document metadata 604. The document metadata 604 is a screen element that shows part of the metadata related to the document. In particular, the document title is displayed as the document metadata 604 in FIG.

[0101] The document frame 603 includes a document section frame 605 for each of a plurality of document sections that are child elements of the document in the search results.

[0102] The document section pane 605 includes document section metadata 606 and a document section snippet 607 for the document section. The document section metadata 606 is a screen element that shows part of the metadata related to the document section. In particular, the document section metadata 606 in Fig. 6 shows the speaker of the document section and the time in the conference.

[0103] The document section snippet 607 is a screen element that shows a snippet of the document section in the search results. The snippet is a part of the original text of the document section, and in particular, displays the character string around where the search keyword appears in the original text. The search keyword can be highlighted in the document section snippet 607. For example, in FIG. 6, the character string around the search keywords "estimate" and "basis" from the original text of the document section is displayed, and "estimate" and "basis" are further highlighted by being underlined.

[0104] In the example search screen of Figure 6, the document sections in the document that meet the search criteria are displayed, but it is also possible to display all document sections in the document, as well as the document sections before and after the document sections that meet the search criteria, and to distinguish and display the document sections that meet the search criteria by making them bold, changing the text color, highlighting them, etc.

[0105] As a result of the above, it is possible to obtain search results that are desirable for a searcher in searching document data.

[0106] Although the embodiment of the present invention has been described above, the present invention can be embodied, for example, as a system, an apparatus, a method, a program, 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.

[0107] The program of the present invention is a program that enables a computer to execute the processing method of each flowchart. Note that the program of the present invention may be a program for each processing method of each device of each flowchart.

[0108] 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.

[0109] 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.

[0110] 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, EPROMs, silicon disks, etc.

[0111] 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.

[0112] 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.

[0113] 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 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.

[0114] 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]

[0115] 100 Document Search System 110 Document Search Unit 120 Document DB 130 Document Section DB

Claims

1. Output control means for controlling the output of documents containing two or more strings that are search conditions, and information relating to sections containing at least one of the two or more strings that are included in the documents. Equipped with, The output control means controls the output of information relating to the section in an order based on the relevance of the section in the document. An information processing device characterized by the following.

2. Output control means for controlling the output of documents containing two or more strings that are search conditions, and information relating to sections containing at least one of the two or more strings that are included in the documents. Equipped with, The output control means controls the output of the documents in an order based on the relevance of the document search and the relevance of the section contained in the document. An information processing device characterized by the following.

3. Control to output documents containing two or more strings that are search criteria in an order based on the degree of relevance between the documents and the search criteria, The output control means controls the output of information relating to sections containing at least one of the two or more strings contained in the document, in an order based on the relevance of the sections contained in the document in relation to the search. An information processing device characterized by the following.

4. The output control means controls the output to associate a document containing two or more strings that are search conditions with information relating to a section containing at least one of the two or more strings contained in the document. The information processing apparatus according to claim 3, characterized by the following:

5. The output control means controls the output of documents containing two or more strings that are search conditions in an order based on the degree of relevance between the documents and the search conditions, Control the output of information relating to a section containing at least one of the two or more strings included in the document, in an order based on the relevance of the section included in the document in relation to the search. The information processing apparatus according to claim 3, characterized by the following:

6. The output control means controls the output to a predetermined area, by identifying information relating to a section containing at least one of the two or more strings in a document containing the two or more strings, for each document containing the section. An information processing apparatus according to any one of claims 1 to 3, characterized by the above.

7. The output control means controls the output of a snippet of a section containing at least one of the two or more strings contained in a document containing the two or more strings. An information processing apparatus according to any one of claims 1 to 3, characterized by the above.

8. The output control means controls the output of a section containing at least one of the two or more strings included in a document containing the two or more strings, and information relating to the sections before and after the section. Control the output to identify and display information relating to a section containing at least one of the two or more strings contained in a document containing the two or more strings. An information processing apparatus according to any one of claims 1 to 3, characterized by the above.

9. The system further includes a management means for managing a first index information that associates search strings with documents, and a second index information that associates search strings with sections. The output control means controls the output of information relating to the section identified by the second index information, among the sections included in the document identified by the first index information. An information processing apparatus according to any one of claims 1 to 3, characterized by the above.

10. The output control means controls the output of the document in an order based on the relevance of the section with the highest relevance for the search, when the document contains two or more sections, each section containing at least one of the two or more strings. An information processing apparatus according to any one of claims 1 to 3, characterized by the above.

11. The output control means of the information processing device is Output control process that controls the output to associate two or more strings that are search conditions with documents containing those two or more strings and information relating to sections within those documents that contain at least one of those two or more strings. Equipped with, In the output control step, the information relating to the section is output in an order based on the relevance of the section contained in the document. An information processing method characterized by the following.

12. The output control means of the information processing device is Output control process that controls the output to associate two or more strings that are search conditions with documents containing those two or more strings and information relating to sections within those documents that contain at least one of those two or more strings. Equipped with, In the output control step, the output of the documents is controlled to occur in an order based on the relevance of the document search and the relevance of the section contained in the document. An information processing method characterized by the following.

13. The output control means of the information processing device is The system controls the output of documents containing two or more strings that are part of the search criteria, in an order based on the relevance of the documents to the search criteria. The output control step includes controlling the output of information relating to sections containing at least one of the two or more strings contained in the document, in an order based on the relevance of the sections contained in the document in relation to the search. An information processing method characterized by the following.

14. A program for causing at least one computer to function as each of the means of the information processing system described in any one of claims 1 to 5.