Patent Publication Number: US-2004044652-A1

Title: Information extraction device and storage medium

Description:
BACKGROUND OF THE INVENTION  
       [0001] 1. Field of the Invention  
       [0002] The present invention relates to an information extraction device for converting a plurality of kinds of requests into requests in an XML format by referring to a database, extracting information from the requests and replying to the requests and a storage medium thereof.  
       [0003] 2. Description of the Related Art  
       [0004] Conventionally, when extracting a plurality of pieces of information from a large-size database managed by a server via a network, such as the Internet, a user (user terminal) set the extraction of a plurality of pieces of information in an object and transmitted the object to the server, and the server set a plurality of pieces of information extracted from the database in the object and returned the object. Then, the user extracted the plurality of pieces of information using an interface prepared for the object.  
       [0005] However, according to the conventional method described above, a range from which information can be extracted, the kind of information which can be extracted by the interface of an object, etc., are restricted, which is a problem.  
       SUMMARY OF THE INVENTION  
       [0006] It is an object of the present invention to easily and rapidly extract information about a plurality of kinds of requests and to return the information by a server receiving requests from a user and by a function called up from the application software of the server converting the plurality of kinds of requests into requests in an XML format by referring to a database, by extracting results from the requests and returning the results to the user to solve these problems.  
       [0007] Means for solving the problems is described with reference to FIG. 1.  
       [0008] In FIG. 1, a server  2  is connected to a network and provides a variety of services. In this example, the server  2  comprises an application software  3 , an XML generation function  4 , etc.  
       [0009] Application software  3  executes a variety of processes according to a program. In this example, the application software  3  receives requests from a browser  1 , transfers the received requests to the XML generation function  4 , makes the XML generation function generate requests in a XML format, etc.  
       [0010] The XML generation function  4  converts the plurality of kinds of requests transferred from the application software  3  into requests in an XML format, etc.  
       [0011] A database  6  stores a variety of information in order to simplify the retrieval of information.  
       [0012] Next, the operation is described.  
       [0013] The application software  3  of the server  2  transfers requests received from the browser  1  to the XML generation function  4 . The XML generation function  4  converts the transferred plurality of kinds of requests into requests in an XML format by referring to the database  6  and returns the requests to the application software  3 . The application software  3  extracts information from the requests and replies to the browser  1 .  
       [0014] At this time, a list of requests related to the generated requests in an XML format that can be arbitrarily selected or set is linked and provided.  
       [0015] Alternatively, a list of requests related to information designated in generated requests in an XML format that can be arbitrarily selected or set is linked and provided.  
       [0016] Therefore, since the server  2  receives requests from the browser  1 , a function called up from the application software  3  of the server  2  converts the plurality of kinds of requests into requests in an XML format by referring to the database  6 , extracting results from the requests and returning the results to the browser  1 , information about a plurality of kinds of requests can be easily and rapidly extracted and can be returned to the browser  1 . 
     
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
     [0017]FIG. 1 shows the system configuration of the present invention.  
     [0018]FIG. 2 is a flowchart showing the operation of the present invention.  
     [0019]FIG. 3 is a flowchart showing the detailed operation (a process for inserting property).  
     [0020]FIG. 4 is a flowchart showing the detailed operation (information about property).  
     [0021]FIG. 5 is a flowchart showing the detailed operation (a method for inserting correlation).  
     [0022]FIG. 6 shows examples of the requests of the present invention.  
     [0023]FIG. 7 shows an example of the database used in the present invention.  
     [0024]FIG. 8 shows an example of the XML of the present invention (Example 1).  
     [0025]FIG. 9 shows an example of the database used in the present invention (Example 1).  
     [0026]FIG. 10 shows the XML of the present invention (Example 2).  
     [0027]FIG. 11 shows the XML of the present invention (Example 2).  
     [0028]FIG. 12 shows an example of the database used in the present invention (Example 2).  
     [0029]FIG. 13 shows the XML of the present invention (Example 3).  
     [0030]FIG. 14 shows the XML of the present invention (Example 3).  
     [0031]FIG. 15 shows an example of the database used in the present invention (Example 3). 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
     [0032] The preferred embodiments of the present invention and the operation thereof are described in detail with reference to FIGS. 1 through 15.  
     [0033]FIG. 1 shows the system configuration of the present invention.  
     [0034] In FIG. 1, the browser  1  is used for a user to transmit requests to the server  2  via a network, such as the Internet, etc., to display the returned retrieval results of the database  6 , etc.  
     [0035] The server  2  loads a program read from a storage medium, which is not shown in FIG. 1, into a main memory, starts the program to execute a variety of processes described below. In this example, the server  2  comprises the application software  3 , an XML generation function  4 , an XML operation function  5 , etc.  
     [0036] The application software  3  is a program. In this case, the application software  3  receives a request from the browser  1 , transfers the received request to the XML generation function  4 , makes the XML generation function generate a request in an XML format by referring to the database  6 , extracts information from the request, returns the extracted information to the browser, and the like.  
     [0037] The XML generation function  4  converts the plurality of kinds of requests transferred from the application software  3  into requests in an XML format by referring to the database  6 , and the like.  
     [0038] The XML operation function  5  performs a variety of operations, such as extracting information from the database  6  according to the request in an XML format, etc.  
     [0039] The database  6  stores a variety of information shown later in FIG. 7 for the purpose of easy retrieval.  
     [0040] Next, the operation of the configuration shown in FIG. 1 is described in detail with reference to FIGS. 2 through 5.  
     [0041]FIG. 2 is a flowchart showing the operation of the present invention.  
     [0042] In FIG. 2, in S 0 , REQ is referenced. In this case, the REQ part of a request transmitted by the browser  1  shown in FIG. 1 via a network. For example, REQ (request) of the underlined part after ? (Example 1 shown later in FIG. 6) in the following address (address, including a request) is extracted and referenced.  
     [0043] http://www. (address of a home page)/cgi.exe?REQ=GET PROP&amp;REQ TYPE=DOCUMENT&amp;DOC ID=286  
     [0044] In this case, it is judged which of the followings is REQ referenced in S 0 .  
     [0045] GET PROP (in the case of Example 1 shown in FIG. 6)  
     [0046] BROWSE (in the case of Example 2 shown in FIG. 6)  
     [0047] CET REL (in the case of Example 3 shown in FIG. 6)  
     [0048] In the case of S 1  where in S 0 , REQ (request) is referenced and CET PROP is detected, S 2  and after are executed.  
     [0049] In S 2 , REQ TYPE is referenced. In this case, since REQ TYPE=DOCUMENT is described in REQ (request) of Example 1 shown in FIG. 6 and DOCUMENT is detected, the flow proceeds to S 3 . In other cases, corresponding processes are executed in the same way.  
     [0050] In S 3 , DOC ID is referenced. In this case, DOC ID=286 is described in REQ (request) of Example 1 shown in FIG. 6, 286 is detected.  
     [0051] In S 4 , property is inserted (only a designated document portion). In this process, the following process of A (A 0 ) shown in FIG. 3 is executed.  
     [0052] In S 31  shown in FIG. 3, a process is started.  
     [0053] In S 32 , a structure tag is generated. In this case, for example, a structure tag is generated, as shown in part AT 1  of the request (Example 1) in an XML format shown in FIG. 8 described later.  
     [0054] In S 33 , column information required by a user is extracted from a database. In this case, for example, the GP-A 0  of the request in an XML format shown later in FIG. 8 is extracted from the database and is inserted.  
     [0055] In S 34 , a tag is generated. In this case, for example, a tag shown in part AT 2  of the request in an XML format shown later in FIG. 8 is generated.  
     [0056] In S 35 , the process is terminated. Then, in this case, the flow returns to S 4  shown in FIG. 2 and proceeds to S 5 .  
     [0057] In S 5 , a process for inserting property definition is executed. In this process, the following process (B 0 ) for inserting the information about property shown later in FIG. 4 is executed.  
     [0058] In S 41  shown in FIG. 4 a process is started. In S 42 , information about property definition is obtained from the database  6 . In this case, for example, part GP-B 0  of the request in an XML format shown later in FIG. 8 is extracted from the database and is inserted.  
     [0059] In s 43 , a structure tag is generated. In this case, for example, a structure tag shown in part BT 1  of the request in an XML format shown later in FIG. 8 is generated.  
     [0060] In S 44 , a tag is generated. In this case, for example, a tag shown in part BT 2  of the request in an XML format shown later in FIG. 8 is generated.  
     [0061] In S 45 , the process is terminated. Then, in this case, the flow returns to S 5  and is terminated.  
     [0062] In S 0  described above, REQ (request) is, for example, Example 1 shown in FIG. 6, the REQ is referenced, GET PROP is detected, in S 1  through S 5  the request (Example 1) in an XML format shown later in FIG. 8 can be automatically generated (converted).  
     [0063] Similarly, in the case of S 11  shown in FIG. 2 where in S 0  REQ (request) is referenced and BROWSE is detected, S 12  and after are executed.  
     [0064] In S 12 , MY CONT ID is referenced. In this case, MY CONT ID=22 is described in REQ (request) in Example 2 shown in FIG. 6 and 22 is detected.  
     [0065] In S 13 , property is inserted (in a designated container). In this process, the following process of A (A 1 ) shown in FIG. 3 is executed.  
     [0066] In S 31  shown in FIG. 3, a process is started.  
     [0067] In S 32 , a structure tag is generated. In this case, for example, a structure tag is generated, as shown in part AT 1  of the request (Example 2) in an XML format shown later in FIGS. 10 and 11.  
     [0068] In S 33 , column information required by a user is extracted from the database. In this case, for example, part BR-A 1  of the request in an XML format shown later in FIG. 10 is extracted from the database and is inserted.  
     [0069] In S 34 , a tag is generated. In this case, for example, a tag shown in part AT 2  of the request in an XML format shown later in FIGS. 10 and 11 is generated.  
     [0070] In S 35 , the process is terminated. Then, the flow returns to S 13  and proceeds to S 14 .  
     [0071] In S 14 , correlation is inserted. In this process, the following process of C (C 0 ) shown in FIG. 5 is executed.  
     [0072] In S 51  shown in FIG. 5, a process is started.  
     [0073] In S 52  a structure tag required to indicate correlation is generated. In this case, for example, a structure tag shown in part CT 1  of the request (Example 2) in an XML format shown later in FIGS. 10 and 11 is generated.  
     [0074] In S 53 , information about correlation is extracted. In this case, information about correlation is extracted from the database  6  and, for example, parts BR-CO1 and BR-CO2 of the request in an XML format shown later in FIGS. 10 and 11 are inserted.  
     [0075] In S 54 , correlation information is inserted. In this case, for example, part CT 2  of the request in an XML format shown later in FIGS. 10 and 11 is inserted.  
     [0076] In S 55 , the process is terminated. Then, the flow returns to S 14  and proceeds to S 15 .  
     [0077] In S 15 , property is inserted (in a designated container). In this process, the process of A (A 2 ) shown in FIG. 3 is executed in the same way.  
     [0078] In S 16 , property definition is inserted. In this process, the process of B (B 1 ) shown in FIG. 4 is executed in the same way.  
     [0079] In S 0  described above, if REQ (request) is, for example, Example 2 shown in FIG. 6, the REQ is referenced, BROWSE is detected, in S 11  through S 16  the request (Example 2) in an XML format shown later in FIGS.  10  and  11  can be automatically generated (converted).  
     [0080] In the case of S 21  shown in FIG. 2 where in S 0  REQ (request) is referenced and GET REL is detected, S 22  and after are executed.  
     [0081] In S 22 , TYPE is referenced. In this case, since TYPE=DESTINATION is described in REQ (request) of Example 3 shown in FIG. 6 and DESTINATION is detected, the flow proceeds to S 23 . In other cases, respective corresponding processes are executed in the same way.  
     [0082] In S 23 , DOC ID is referenced. In this case, DOC ID=100 is described in REQ of Example 3 shown in FIG. 6, and 100 is detected.  
     [0083] In S 24 , property is inserted (in a designated document). In this process, the following process of A (A 3 ) shown in FIG. 3 is executed.  
     [0084] In S 31  shown in FIG. 3, a process is started.  
     [0085] In S 32 , a structure tag is generated. In this case, a structure tag shown in part AT 1  of the request (Example 3) in an XML format shown later in FIGS. 13 and 14 is generated.  
     [0086] In S 33 , column information required by a user is extracted from the database. In this case, part GR-A 3  of the request in an XML format shown later in FIGS. 13 and 14 is extracted from the database and is inserted.  
     [0087] In S 34 , a tag is generated. In this case, a tag shown in part AT 2  of request in an XML format shown later in FIGS. 13 and 14 is generated.  
     [0088] In S 35 , the process is terminated. Then, the flow returns to S 24  shown in FIG. 2 and proceeds to S 25 .  
     [0089] In S 25 , correlation is inserted. In this process, the following process of C (C 1 ) shown in FIG. 5 is executed.  
     [0090] In S 51  shown in FIG. 5, a process is started.  
     [0091] In S 52 , a structure tag required to indicate correlation is generated. In this case, a structure tag shown in part CT 1  of the request (Example 3) in an XML format shown in FIGS. 13 and 14 is generated, In S 53 , information about correlation is extracted. In this case, information about correlation is extracted from the database  6 , and, for example, part GR-C 11  of the request in an XML format shown later in FIGS. 13 and 14 is inserted.  
     [0092] In S 54 , correlation information is inserted. In this case, for example, CT 2  of an XML format shown later in FIGS. 13 and 14 is inserted.  
     [0093] In S 55 , the process is terminated. Then, in this case, the flow returns to S 25  and proceeds to S 26 .  
     [0094] In S 26 , property is inserted (in an extracted document). In this process, the process of A (A 4 ) shown in FIG. 3 is executed in the same way.  
     [0095] In S 27 , property definition is inserted. In this process, the process of B (B 2 ) shown in FIG. 4 is executed in the same way.  
     [0096] In S 0  described above, if REQ (request) is, for example, Example 3 shown in FIG. 6, the REQ is referenced, GET REL is detected, and in S 23  through S 27  the request (Example 3) in an XML format shown later in FIGS. 13 and 14 can be automatically generated (converted).  
     [0097]FIG. 3 is a flowchart showing the detailed operation of the present invention (process for inserting property, A). As already described with reference to FIG. 2, this flowchart describes the detailed process for inserting the property (property of a designated document, a designated container, an extracted document, etc.) of a request (REQ) in the request in an XML format shown in FIGS. 8, 11,  12 ,  13  and  14 , in the flowchart shown in FIG. 2 (for detail, see the description on S 31  through S 35  shown in FIG. 2).  
     [0098]FIG. 4 is a flowchart showing the detailed operation of the present invention (information about property, B). As already described in FIG. 2, this flowchart describes the detailed process for inserting the property (property definition) of a request (REQ) in the request in an XML format shown in FIGS. 8, 11,  12 ,  13  and  14 , in the flowchart shown in FIG. 2 (for detail, see the description on S 41  through S 45  shown in FIG. 2).  
     [0099]FIG. 5 is a flowchart showing the detailed operation of the present invention (a method for inserting correlation). As already described in FIG. 2, this flowchart describes the detailed process for inserting the correlation of a request (REQ) in the request in an XML format shown in FIGS. 8, 11,  12 ,  13  and  14 , in the flowchart shown in FIG. 2 (for detail, see the description on S 51  through S 55  shown in FIG. 2).  
     [0100]FIG. 6 examples of the requests of the present invention. These are examples of REQs (requests) in S 1 , S 11  and S 21  shown in FIG. 2 as follows.  
     [0101] Example 1: REQ=GET PROP&amp;REQ TYPE=DOCUMENT&amp;DOC ID=286  
     [0102] Example 2: REQ=BROWSE&amp;MY CONT ID=22  
     [0103] Example 3: REQ=GET REL&amp;TYPE=DESTINATION&amp;DOC ID=100  
     [0104] These REQs (requests) are transmitted from the browser (client)  1  to the server  2  via a network, and they are described after (the home address of the related server  2 )/cgi.exe?. The details are described below using Example 1.  
     [0105] (1) The server  2  receives http://www.(home page address)/cgi.exe?REG=GET PROP&amp;REQ TYPE=DOCUMENT&amp;DOC ID=286  
     [0106] (2) Request in the underlined part of (1) is inserted in void main (int argc, char* argv[ ], char* envp[ ]//envp as a oart of an environmental variable.  
     [0107] (3) Request of (2) (request in the underlined part of (1)) from a user is inserted in MWISimpleCall MSCobj (envp);//envp (request extracted from the environmemtal variable of (2) is inserted using MWISimpleCall class).  
     [0108] (4) A request in an XML format to be returned (see FIGS. 8, 11,  12 ,  13  and  14 ) is generated (converted) and inserted in MMIRequest (MSCobj.toMWQuery( ), returnedXm 1);//returnedXml.  
     [0109] (5) Then, information is extracted from retunedXml of (4), is converted into an HTML format and is returned to the user (browser  1 ).  
     [0110]FIG. 7 shows an example of the database used in the present invention.  
     [0111]FIG. 7( a ) shows an example of a DOCUMENT(document) database. Here, the following information shown in FIG. 7( a ) is related and registered.  
     [0112] Document ID:  
     [0113] Name:  
     [0114] Writer:  
     [0115] Written day and time:  
     [0116] Document size:  
     [0117]FIG. 7( b ) shows an example of a CONTAINER (container) database. Here, the following information shown in FIG. 7( b ) is related and registered.  
     [0118] Container ID:  
     [0119] Name:  
     [0120]FIG. 7( c ) shows an example of a REFERENCE1 (reference 1) database (indicating correlation between a container and a document). Here, the following information shown in FIG. 7( c ) is related and registered.  
     [0121] Container ID:  
     [0122] Document ID:  
     [0123]FIG. 7( d ) shows an example of a REFERENCE2 (reference 2) database (indicating correlation between containers). Here, the following information shown in FIG. 7( d ) is related and registered.  
     [0124] Parent container ID:  
     [0125] Child container ID:  
     [0126]FIG. 7( e ) shows an example of a RELATIONSHIP (relationship) database (indicating correlation between documents). Here, the following information shown in FIG. 7( e ) is related and registered.  
     [0127] Parent document ID:  
     [0128] Child document ID:  
     [0129] Comment:  
     [0130] Strength:  
     [0131] Inclusion:  
     [0132]FIG. 7( f ) shows an example of a PROPERTYDEF database. The following information shown in FIG. 7( f ) is related and registered.  
     [0133] Object ID:  
     [0134] Representative Name:  
     [0135] Type:  
     [0136] Read flag:  
     [0137] Necessity:  
     [0138] Maximum value:  
     [0139] Minimum value  
     [0140]FIG. 8 shows an example of the XML (Example 1) of the present invention. This request in an XML format is converted from REQ (request) of Example 1 shown in FIG. 6 according to the flowcharts shown in FIGS. 2 through 5. Symbols used in FIG. 8 (AT 1 , AT 2 , BT 1 , GP-B 0 , CT 2 , GP-A 0 , etc.) are generated in the respective positions described in the flowcharts shown in FIGS. 2 through 5 and they indicate the respective correspondences.  
     [0141] (4) shown in FIG. 8 is link information. A list of requests (list of request templates) related to document ID=286 is generated in advance and is set there. A request can be arbitrarily selected/designated and set there.  
     [0142] Similarly, (5) shown in FIG. 8 is also link information. A list of requests (list of request templates) related to the entire or highest-order document is generated in advance and is set there. A request can be arbitrarily selected/designated and set there.  
     [0143]FIG. 9 shows an example of the database (Example 1) used in the present invention. Symbols described in FIG. 9 (GP-A 0 , GP-B 0 ) indicate information extracted from the respective parts corresponding to the symbols.  
     [0144]FIGS. 10 and 11 show an example of XML (Example 2) of the present invention. This request in an XML format is converted from REQ (request) of Example 2 shown in FIG. 6 according to the flowcharts shown in FIGS. 2 through 5. Symbols described in FIGS. 10 and 11 (AT 1 , AT 2 , BR-A 1 , BR-A 2 , etc.) are generated in the respective positions described in the flowchart and indicate the respective correspondences.  
     [0145]FIG. 12 shows an example of the database (Example 2) used in the present invention. Symbols described in FIG. 12 (BR-A 2 , GP-B 1 , BR-C 0 , etc.) indicate respective pieces of information extracted from the respective parts corresponding to the symbols shown in FIGS. 10 and 11.  
     [0146]FIGS. 13 and 14 show an example of XML (Example 3) of the present invention. This request in an XML format is converted from REQ of Example 3 shown in FIG. 6 according to the flowcharts shown in FIGS. 2 through 5. Symbols described in FIGS. 13 and 14 (AT 1 , AT 2 , GR-A 3 , GR-A 4 , etc.) are generated in the respective positions described in the flowcharts shown in FIGS. 2 through 5 and they indicate the respective correspondences.  
     [0147]FIG. 15 shows an example of the database (Example 3) used in the present invention. Symbols described in FIG. 15 (BR-A 3 , GR-A 4 , Gr-C 1 , GR-B 2 , etc.) indicate respective pieces of information extracted from the respective parts corresponding to the symbols shown in FIGS. 13 and 14.  
     [0148] In this way, according to the present invention, since the server  2  receives requests from the browser  1 , a function called up from the application software  3  of the server  2  converts the plurality of kinds of requests into requests in an XML format by referring to the database  6 , transfers the request to the application software  3 , the application software  3  extracts results and returns the results to the browser  1 , requests in an XML format can be generated from a plurality of kinds of requests and a variety of desired information can be easily and rapidly returned to a user. If application software for publicizing the information of the database  6  to users is generated, work efficiency can be improved using an interface most familiar to an engineer generating the application software.