Patent Publication Number: US-8527511-B2

Title: Information processing apparatus, information processing method, and computer-readable medium for setting a retrieval target

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2009-17765 filed on Jan. 29, 2009. 
     BACKGROUND 
     1. Technical Field 
     The present invention relates to an information processing apparatus, an information processing method, a computer-readable medium storing a program that causes a computer to execute image processing and a computer data signal embedded with the program. 
     2. Related Art 
     Information processing apparatuses have been widely used to support sharing, storing and using information. When a user stores prepared or acquired information in an information processing apparatus and reuses the information, the user narrows the range of prospective information for reuse from the information stored in the information processing apparatus by using a key word (for example, bibliography information) contained in the information as a retrieval key. In recent years, with the realization of high capacity and low cost storage, the amount of information that can be stored in an information processing apparatus has rapidly increased in quantity. 
     SUMMARY 
     According to an aspect of the invention, an information processing apparatus includes a calculation unit, an information selection unit and an information retrieval unit. The calculation unit calculates a retrieval target level for each information based on time from when the information was stored in the apparatus in the past to the present. The retrieval target level for each information is used to determine as to whether or not each information is set as a retrieval target. The information selection unit selects some of the pieces of information as the retrieval targets based on the retrieval target levels calculated by the calculation unit. The information retrieval unit retrieves the some of the information selected by the information selection unit. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Exemplary embodiment of the invention will be described in detail below with reference to the accompanying drawings, wherein: 
         FIG. 1  is a conceptual view showing an example of the module configuration according to a first exemplary embodiment; 
         FIG. 2  is a flow chart showing an example process of document creation according to the first exemplary embodiment; 
         FIG. 3  is a flow chart showing an example process of document retrieval according to the first exemplary embodiment; 
         FIG. 4  is an explanatory view showing an example data structure of a document state table; 
         FIG. 5  is a flow chart showing an example process of document selection according to the first exemplary embodiment; 
         FIG. 6  is an explanatory view showing an example data structure of a user property table; 
         FIG. 7  is a flow chart showing an example process of document extraction or the like according to the first exemplary embodiment; 
         FIG. 8  is an explanatory view showing an example of variation of a life value according to the first exemplary embodiment; 
         FIG. 9  is a conceptual view showing an example of the module configuration according to a second exemplary embodiment; 
         FIG. 10  is an explanatory view showing an example data structure of a document group table; and 
         FIG. 11  is a block diagram showing an example hardware configuration of a computer for implementing the first and second exemplary embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     Hereinafter, various exemplary embodiments suitable for the implementation of the present invention will be described with reference to the drawings. 
       FIG. 1  is a conceptual view showing an example of the module configuration according to a first exemplary embodiment. 
     A module used herein refers generally to a part such as logically separable software (computer program), hardware and so on. Accordingly, a module in this embodiment includes not only a module in a computer program but also a module in a hardware configuration. Thus, this embodiment addresses the computer program, system and method in combination. For the purpose of convenience of description, as used herein, “store,” “be stored” or its equivalent means that a computer program is stored in a storage device or is controlled to be stored in a storage device. Although each single module substantially corresponds to one function, for mounting on the embodiment, one module may be configured as one program, plural modules may be configured as one program, or one module may be configured as plural programs. Plural modules may be executed by one computer, or one module may be executed by Plural computers in distributed or parallel environments. One module may contain other modules. As used herein, the term “connection” includes logical connection (data delivery, instruction, reference relation between data, etc) in addition to physical connection. 
     As used herein, the term “system” or “apparatus” can apply to a single computer, piece of hardware, apparatus and the like in addition to plural computers, hardware, apparatuses and the like interconnected via a communication means such as a network (including one-to-one correspondence communication connection). In the specification, “apparatus” is synonymous with “system.” As used herein, the term “predetermined” is meant to include not only determination before the start of processing by the embodiments but also determination according to situations and conditions at that time or situations and conditions up to that time even after the start of processing by the embodiments. 
     In the following description, the term “retrieval target level” refers to a numerical value that is used to determine as to whether or not information is set as a retrieval target. For example, a retrieval target level for certain information and a predetermined threshold value are compared, and then it is determined based on a magnitude relationship therebetween as to whether or not the certain information is set as a retrieval target. In the following description, the exemplary embodiments will be described with a life value which decreases with time (it decreases when no selection is made to a document or an object within the document, but may increase if any selection is made thereto) being used as an example of the retrieval target level. Accordingly, if a life value of certain information is smaller than the predetermined threshold value, the information does not become a retrieval target. 
     In the following description, the exemplary embodiment will be described with a document being used as an example of the information. The term “document” includes electronic data such as images, moving pictures and audio, or a combination thereof, as well as data and its equivalents capable of becoming a target to be stored, edited or retrieved and capable of being exchanged in individual units between systems or users. A document contains one or more objects. An “object within a document” refers to data constituting the document, including, for example, character string data (including one or more characters), figure data, image data, etc. 
     The information processing apparatus of the first exemplary embodiment retrieves documents after narrowing down documents to be retrieved, and includes a document storage module  100 , a document selection module  105 , a keyword retrieval module  110 , a keyword reception module  115 , a retrieval result display module  120 , a document display module  125 , a display document selection module  130 , a document state storage module  135 , a life calculation module  140 , a user property storage module  145 , a display object selection module  150  and a user recognition module  155 , as shown in  FIG. 1 . 
     The document storage module  100  is connected to the document selection module  105 . The document memory module  100  stores documents to be retrieved. The documents may be stored in advance, or created documents may be stored as needed. The stored documents are accessed and retrieved by the document selection module  105 . 
     The document selection module  105  is connected to the document storage module  100 , the keyword retrieval module  110  and the document state storage module  135 . The document selection module  105  selects a retrieval target document(s) (a document to be retrieved) from the documents stored in the document storage module  100 , based on life values of the stored document which are calculated by the life calculation module  140 . Calculating of the life values by the life calculation module  140  will be described in detail later. Then, the document selection module  105  transfers the selected document(s) to the keyword retrieval module  110 . 
     The document selection module  105  may select, as a retrieval target, either a document(s) or an object(s) which are past selected parts of in the documents based on a predetermined second threshold value. For example, the document selection module  105  compares a life value of a certain document with the second threshold value. If the life value of the certain document is larger than the second threshold value, the document selection module  105  selects the certain document as a retrieval target. If the life value of the certain document is smaller than the second threshold value, the document selection module  105  selects an object which is a past selected part in the certain document as a retrieval target. In this manner, the retrieval target is changed with the second threshold value being used as a boundary. That is, if the life value of the certain document is smaller than the second threshold value, only the past selected object of the certain document, rather than the entire certain document, is set as the retrieval target. 
     The document selection module  105  may select a document(s) as a retrieval target(s) based on a predetermined third threshold value. For example, the document selection module  105  compares a life value of a certain document with the third threshold value. If the life value of the certain document is larger than the third threshold value, the document selection module  105  selects the certain document or the object, which is the past selected part of the certain document, as a retrieval target. If the life value of the certain document is smaller than the third threshold value, the document selection module  105  does not set the certain document (including the past selected object) as a retrieval target. In this manner, a retrieval target is selected with the third threshold value being used as a boundary. A relation between the second threshold value and the third threshold value is set in advance so that the second threshold value is larger than the third threshold value. 
     The keyword reception module  115  is connected to the keyword retrieval module  110 . The keyword reception module  115  receives a keyword for retrieval. The keyword is transferred to the keyword retrieval module  110 . The keyword reception module  115  may receive a keyword in response to user&#39;s operation of a keyboard, a mouse or the like or may read out a keyword stored in a storage device (including one connected via a network in addition to one contained in the information processing apparatus) or the like. 
     The keyword retrieval module  110  is connected to the document selection module  105 , the keyword reception module  115  and the retrieval result display module  120 . The keyword retrieval module  110  retrieves the document(s) and/or the object(s), which are selected by the document selection module  105 , with the keyword transferred from the keyword reception module  115 . The result of the retrieval (including a document ID identifying a document containing the keyword, a position of the keyword in the document, and the like) is transferred to the retrieval result display module  120 . This retrieval may be a full text retrieval or a retrieval using an inverted file or the like. 
     The retrieval result display module  120  is connected to the keyword retrieval module  110  and the document display module  125 . The retrieval result display module  120  receives the retrieval result from the keyword retrieval module  110  and displays the retrieval result in a list form on a display provided in the information processing apparatus, for example. Then, a process is performed by the document display module  125 . 
     The document display module  125  is connected to the retrieval result display module  120  and the display document selection module  130 . The document display module  125  displays one document in the retrieval result on the display based on an instruction received from the display document selection module  130  after the retrieval result is displayed by the retrieval result display module  120 . The document to be displayed is read from the document storage module  100 . 
     The display document selection module  130  is connected to the document display module  125  and the document state storage module  135 . The display document selection module  130  selects a document from the retrieval result displayed by the retrieval result display module  120  in response to user&#39;s operation of a keyboard, a mouse or the like. The display document selection module  130  transmits an instruction to display the document to the document display module  125  and transfers the result of the selection (including a document ID identifying the selected document, a user ID identifying the user performing the selection of the document, selection time, and the like) to the document state storage module  135 . 
     The document state storage module  135  is connected to the document selection module  105 , the display document selection module  130 , the display object selection module  150  and the life calculation module  140 . The document state storage module  135  receives and stores the document ID identifying the selected document, time at which the selection was made, the user ID identifying a user who selected the document, and the like from the display document selection module  130 . In addition, the document state storage module  135  receives and stores an object ID identifying an object in the selected document, time at which the selection was made, a user ID identifying a user who selected the object, a document ID identifying a document containing the object, an edit type that was performed for the object, and the like from the display object selection module  150 . In addition, the document state storage module  135  is accessed by the life calculation module  140 , transfers what are stored therein to the life calculation module  140 , and stores a life value(s) calculated by the life calculation module  140 . In addition, the document state storage module  135  is accessed by the document selection module  105 , and transfers the stored life value(s) to the document selection module  105 . 
     For example, the document state storage module  135  stores a document state table  400 .  FIG. 4  is an explanatory view showing an example data structure of the document state table  400 . 
     The document state table  400  has a document ID column  402 , a storage time column  404 , a storage user ID column  406 , a selection time column  408 , a selection user ID column  410 , an object ID column  412 , an object selection time column  414 , an object selection user ID column  416 , an edit type column  418 , a life value column  450  and so on, and stores states of the documents (access histories of the documents) stored in the document storage module  100 . 
     The document ID column  402  stores a document ID (IDentifier) as an identifier which can identify a document uniquely. 
     The storage time column  404  stores time at which the document was stored in the document storage module  100  (the time may include year, minute and second as well as date, and this also applied to other “time” described later) The storage time column  404  may store time at which the document was created. 
     The storage user ID column  406  stores a user ID identifying a user who stored the document. The user ID is a user ID of a user who is recognized by the user recognition module  155 . In addition, the user ID may be the user ID of the user who created the document. 
     The selection time column  408  stores time at which the document was selected by the display document display module  130 . 
     The selection user ID column  410  stores a user ID identifying a user who selected the document. 
     The object ID column  412  stores an object ID as an identifier which can uniquely identify an object being in the document and being selected by the display object selection module  150 . 
     The object selection time column  414  stores time at which the object was selected by the display object selection module  150 . 
     The object selection user ID column  416  stores a user ID identifying a user who selected the object. 
     The edit type column  418  stores an edit type for the object (for example, copy, enlargement, reduction and so on). For example, if the object is selected and edited by a user, its edit type is stored. 
     In addition, since there may be a case where plural objects are selected from one document, plural object ID columns  412 , plural object selection time columns  414 , plural object selection user ID columns  416  and plural edit type columns  418  may be provided for one document ID. 
     The life value column  450  stores a life value calculated by the life calculation module  140 . 
     The life calculation module  140  is connected to the user property storage module  145  and the document state storage module  135 . The life calculation module  140  calculates a life value of a document for determining as to whether or not the document is set as a retrieval target, based on the time from when the document was selected in the past. The time from when the document was selected in the past is obtained by calculating a period of time from the document selection time stored in the document state storage module  135  to the current time. In addition, the life calculation module  140  stores the calculated life value in the document state storage module  135  in association with the document. 
     In addition, the life calculation module  140  may calculate a life value based on the time from when an object which is a part of the document was selected in the past. The time from when the object in the document was selected in the past is obtained by calculating a period of time from the object selection time stored in the document state storage module  135  to the current time. 
     In addition, the life calculation module  140  may calculate a life value of a document or an object according to a property (properties) of a user(s) who selected the document or the object in the document. In this case, the life calculation module  140  receives the user property (user properties) from the user property storage module  145 . A “user property” may refer to a numerical value obtained by quantifying to what extent one user have an influence on other users, for example, a numerical value corresponding to a user&#39;s position (status) (for example, a higher ranking position has a larger numerical value), a numerical value corresponding to the number of created documents, a numerical value corresponding to the number of times a document is referenced (for example, the number of times a document is referenced by other documents), etc. For example, the life calculation module  140  transfers the user ID(s) stored in the document state storage module  135  to the user property storage module  145  and acquires a user property value(s) corresponding to the user ID(s) from the user property storage module  145 . 
     In addition, the life calculation module  140  may calculate the life value based on a predetermined first threshold value using one of a first function and a second function being different from the first function. That is, the function to calculate the life value is changed with the first threshold value being used as a boundary. The function to be applied is changed according to a magnitude relation between the life value and the first threshold value. For example, if the life value is larger than the first threshold value, the life value is calculated using the first function. If the life value is smaller than the first threshold value, the life value is calculated using the second function. In addition, the relation between the first threshold value and a second threshold value is set in advance so that the first threshold value is larger than the second threshold value. Accordingly, the first threshold value, the second threshold value and a third threshold value have a relation which decreases in order. 
     The user recognition module  155  is connected to the user property storage module  145 . The user recognition module  155  recognizes a user who is using the information processing apparatus. For example, when the user uses the information processing apparatus, the user recognition module  155  may receive and authenticate a user ID and a password. In addition, the user recognition module  155  may read an IC (Integrated Circuit) card possessed by the user to recognize the user. The user recognition module  155  transfers the recognized user ID to the user property storage module  145 . 
     The user property storage module  145  is connected to the life calculation module  140  and the user recognition module  155 . The user property storage module  145  receives the user ID from the user recognition module  155  or the life calculation module  140  and transfers a user property value corresponding to the user ID to the life calculation module  140 . For example, the user property value corresponding to the user ID is set in advance. 
     For example, the user property storage module  145  stores a user property table  600 .  FIG. 6  is an explanatory view showing an example data structure of the user property table  600 . 
     The user property table  600  has a user ID column  602  and a user property value column  604 . 
     The user ID column  602  stores a user ID. 
     The user property value column  604  stores a property value of a user identified by the user ID. 
     The user property storage module  145  receives the user ID from the user recognition module  155  or the life calculation module  140 , retrieves the corresponding user ID from the user ID column  602 , extracts a user property value corresponding to the retrieved user ID from the user property value column  604 , and transfers the extracted user property value to the life calculation module  140 . 
     The display object selection module  150  is connected to the document state storage module  135 . The display object selection module  150  selects an object in the document displayed by the document display module  125  according to user&#39;s operation of a keyboard, a mouse or the like. The display object selection module  150  transfers the result of the selection (a document ID identifying the selected document, an object ID identifying the selected object, a user ID identifying the user performing the selection of the object, the selection time, and the like) to the document state storage module  135 . The number of objects to be selected may be one or more, or all of the objects contained in the document may be selected. 
       FIG. 2  is a flow chart showing an example process of document creation according to the first exemplary embodiment. 
     At Step S 202 , the user recognition module  155  recognizes a user who attempts to create a document. 
     At Step S 204 , the information processing apparatus creates a document in response to user&#39;s operation. 
     At Step S 206 , the created document is stored in the document storage module  100 . 
     At Step S 208 , the information processing apparatus generates a document ID as an identifier which can identify the created document uniquely, and stores the document ID, storage time (time at which the document is stored), and a user ID identifying the user who stores the document in the respective columns of the document state table  400 . 
       FIG. 3  is a flow chart showing an example process of document retrieval according to the first exemplary embodiment. 
     At Step S 302 , the user recognition module  155  recognizes a user who attempts to retrieve a document. 
     At Step S 304 , the keyword reception module  115  receives a keyword in response to user&#39;s operation. 
     At Step S 306 , the keyword retrieval module  110  retrieves a document selected by the document selection module  105 . The document selection process by the document selection module  105  and the like will be described later with reference to  FIG. 5 . 
     At Step S 308 , the retrieval result display module  120  displays the retrieval result. 
     At Step S 310 , the display document selection module  130  selects a document from the retrieval result based on user&#39;s operation. 
     At Step S 312 , the document display module  125  displays the selected document. 
     At Step S 314 , the document state storage module  135  stores document selection time (time at which the document is selected), a user ID identifying the user who selects the document, etc. in the selection time column  408 , the selection user ID column  410 , etc. 
     At Step S 316 , the display object selection module  150  selects an object in the displayed document based on user&#39;s operation. 
     At Step S 318 , the display object selection module  150  edits the selected object based on user&#39;s operation. 
     At Step S 320 , the document state storage module  135  stores an object ID of the selected object, the object selection time (time at which the object is selected), a user ID identifying the user who selects the object, an edit type of the selected object, etc. in the object ID column  412 , the object selection time column  414 , the object selection user ID column  416 , the edit type column  418 , etc. 
       FIG. 5  is a flow chart showing an example process of document selection according to the first exemplary embodiment. This figure shows an example process of selecting a document in order to perform the retrieval process at Step S 306  in the flow chart shown in the example of  FIG. 3 . 
     At Step S 502 , the life calculation module  140  extracts a document state from the document state storage module  135  based on an instruction from the document selection module  105 . 
     At Step S 504 , the life calculation module  140  extracts a user property value from the user property storage module  145 . 
     At Step S 506 , the life calculation module  140  calculates a life value of each document. 
     An example of the life value calculation is as follows. 
     It is assumed that Ld≧Th 1 , that a selection operation is performed by the display document selection module  130  or the display object selection module  150 , and that the number of users who make unique access (selection) is k, 
                   Ld   =       E   ⁡     (   Dd   )       +       ∑     j   =   1     k     ⁢           ⁢     E   ⁢           ⁢   1   ⁢     (   Dj   )                   (   1   )                 E   ⁡     (   Dd   )       =     exp   ⁡     (       -   Dd     ×   C   ⁢           ⁢   1     )               (   2   )                 E   ⁢           ⁢   1   ⁢     (   DAd   )       =     CA   ×     exp   ⁡     (       -   DAd     ×   C   ⁢           ⁢   1     )                 (   3   )               
where, Ld represents the life value of a document d, Th 1  represents the predetermined first threshold value, Dd represents a period of time elapsed after the document d was stored in the document storage module  100 , C 1  represents a predetermined value, CA represents a user property value of a user A, and DAd represents a period of time elapsed after the user A accessed the document d.
 
     That is, the life value Ld of the document d is a value determined by a decreasing function, for example, an exponential function, based on the period of time Dd elapsed after the document d was stored in the document storage module  100 , the period of time Did elapsed after the document d was selected by a user i, a user property value Ci of the user i who selected the document d, and the number of users k who selected the document d. If the life value Ld is equal to or larger than Th 1 , the life value Ld may be determined by a function which decreases with time and increases with selection. 
     After Ld becomes less than Th 1  (Ld&lt;Th 1 ) once, Ld decreases by a predetermined value C 2  every predetermined period of time (see Equation 4 below). That is, if the life value is smaller than Th 1 , the life value is calculated by a function different from the function, which is used when the life value is equal to or larger than the Th 1 .
 
 Ld=Ld−C 2  (4)
 
     When the document d is selected by the display object selection module  150 , Ld is increased (see Equation 5 below).
 
 Ld= min( Ld+C 3× Cx,Th 1)  (5)
 
where, Cx represents a user property value of the user who selects the object and C 3  represents a predetermined value.
 
     That is, if Ld&lt;Th 1 , when a selection is made between the time when the life value Ld becomes equal to Th 1  and the current time, the life value Ld is determined by a decreasing function, for example, a monotone decreasing function, based on a user property value of the user who made the selection. 
     The calculation of the life value will be described with an example shown in  FIG. 8 .  FIG. 8  is an explanatory view showing an example of the variation of a life value according to the first exemplary embodiment. 
     In this figure, a horizontal axis represents time (t), and a vertical axis represents a life value L. In a state where t=0, that is, when a certain document is just stored in the document storage module  100 , the life value L has an initial value. The life value L decreases with time. The life value L is increased by L 1  because of a property value of a user A when the user A selects the certain document (at t 1 ). Then, the life value L is again decreased with time. Next, when a user B selects the certain document (at t 2 ), the life value L is increased by L 2  because of a property value of the user B. In the figure, the reason why L 1  is larger than L 2  is that the property value of the user A increases the life value L more than the property value of the user B. Thereafter, the life value L is decreased with time. 
     The user selects the certain document (at t 3 ). However, the user A has already selected the certain document at t 1 . If the same user selects the certain document again, the life value L is only increased at the first selection by the same user. The life value L is not increased for second and later selections if L≧Th 1 . The life value L keeps being decreased with time. 
     After Ld&lt;Th 1  (after t 4 ), the life value L is decreased with a decreasing function different from the function, which is used when L≧Th 1 . 
     When the user A again selects an object in the certain document (at t 5 ), the life value L is increased by L 3 . As can be seen from the above Equation 5, after once Ld is less than Th 1  (Ld&lt;Th 1 ), there is no case where Ld exceeds Th 1 . Thereafter, the life value L is decreased. When a user C selects an object in the certain document (at t 6 ), the life value L is increased by L 4 . Thereafter, the life value is decreased in a similar way. 
     The case of Ld≧Th 1  is different from the case of Ld&lt;Th 1  in the followings. That is, (1) the decreasing function sharply decreases initially, (2) the life value L is not increased by repeated access of the same user, (3) the life value L is increased by both selection of a document and selection of an object in the document, while in the case of Ld&lt;Th 1 , the life value L is only increased by selecting the object of the document, and (4) the life value L may be increased to exceed the initial value when the document is selected, while the life value L is not increased to be larger than Th 1  in the case of Ld&lt;Th 1 . The first exemplary embodiment may be modified so that any one of the above items (1) to (4) is met. For example, even in the case of Ld&lt;Th 1 , the life value L may be increased by both selection of a document and selection of an object in the document. 
     Accordingly, because of the change in the life value L as described, the document use of the unique users increases the life value L in the initial period where the document is stored. For example, as a document has a greater influence to the surroundings, that is, is used for a longer period of time by more users, the life value will last for a longer period of time. To the contrary, the life value of a document used only briefly will last for a shorter period of time. When the use of the document is converged to some extent (the case of Ld&lt;Th 1 ), the life value is increased with usage frequency of the document. That is, the more popular the document is, the longer the life time period will last. 
     In addition, the life value of the document is increased more when the document is used by a user who has a larger user property value. In the case of a company, it is assumed that a higher rank user has a greater influence to the surroundings. Therefore, by setting a larger user property value (a value increasing a life value) for the higher rank user, it is possible to greatly increase the life value of a document considered to have great influence to the surroundings. In addition, a user property value may be updated based on a document state (access history) stored in the document state storage module  135 , such that the user property value of a user who creates a document having a large life value that lasts for a longer period of time (for example, the case where the period of time for which a life value exceeding a predetermined value lasts is longer than a predetermined period of time), that is, the user property value of a user who creates a document having a greater influence to the surroundings becomes large. 
     At Step S 508 , the document selection module  105  selects the document using the life value L. A process in Step S 508  will be described below using a flow chart shown in an example of  FIG. 7 . 
       FIG. 7  is a flow chart showing an example process of document extraction or the like according to the first exemplary embodiment. This process is performed for each document stored in the document storage module  100 . 
     At Step S 702 , the document selection module  105  determines as to whether or not the life value L of a document being processed exceeds the second threshold value Th 2 . If it is determined that the life value L exceeds Th 2  (Y in Step S 702 ), the process proceeds to Step S 706 . Otherwise (N in Step S 702 ), the process proceeds to Step S 704 . 
     At Step S 704 , the document selection module  105  determines as to whether or not the life value L of the document being processed exceeds the third threshold value Th 3 . If it is determined that the life value L exceeds Th 3  (Y in Step S 704 ), the process proceeds to Step S 708 . Otherwise (N in Step S 704 ), the process proceeds to Step S 710 . 
     At Step S 706 , the document selection module  105  extracts the entire text of the document, as a retrieval target, from the document storage module  100 . This corresponds to the case where the retrieval is performed in a state prior to t 7  shown in the example of  FIG. 8 . 
     At Step S 708 , the document selection module  105  extracts text in a selected object of the document, as a retrieval target, from the document storage module  100 . This corresponds to the case where the retrieval is performed in a state where the life value L is larger than Th 3  after t 7  in the example of  FIG. 8 . 
     At Step S 710 , the document selection module  105  does not extract a retrieval target from the document. This corresponds to the case where the retrieval is performed in a state where the life value L is smaller than Th 3  after t 7  in the example of  FIG. 8 . 
     At Step S 510 , the document selection module  105  performs a process of specifying the selected document as a retrieval target. That is, when a document is selected, the text contained in the document a retrieval target. When an object in the document is selected, the text contained in the object is set a retrieval target. Thereafter, the keyword retrieval module  110  searches the specified retrieval target for the keyword. 
       FIG. 9  is a conceptual view showing an example of module configuration according to a second exemplary embodiment. An information processing apparatus of the second exemplary embodiment includes a document storage module  100 , a document selection module  105 , a keyword retrieval module  110 , a keyword reception module  115 , a retrieval result display module  120 , a document display module  125 , a display document selection module  130 , a document state storage module  135 , a life calculation module  140 , a user property storage module  145 , a display object selection module  150 , a user recognition module  155  and a document group mapping module  960 . In the second exemplary embodiment, the same elements as the first exemplary embodiment are denoted by the same reference numerals, and repeated explanation thereof will be omitted. The second exemplary embodiment calculates a life value for a document group which is a set of plural documents and selects a retrieval target based on the calculated life value. A document group may be used if the existence of a set of group documents has meaning as a retrieval target. For example, this may correspond to IPC, which is a technique classification in the patent publications. In more detail, a patent publication group having an IPC becomes a retrieval target, and even a patent publication which has never been selected can become a retrieval target if it belongs to an IPC of another patent publication which is being frequently selected. Conversely, a patent publication belonging to an IPC which has not been selected for a long time although it was once selected in the past does not become a retrieval target. 
     The document group mapping module  960  is connected to the display document selection module  130  and the document state storage module  135 . The document group mapping module  960  extracts the document group to which the document selected by the display document selection module  130  belongs. Then, the document group mapping module  960  transfers the document and the extracted document group to the document state storage module  135 . 
     For example, the document group mapping module  960  stores a document group table  1000 .  FIG. 10  is an explanatory view showing an example data structure of the document group table  1000 . The document group table  1000  has a document ID column  1002  and a document group ID column  1004 . 
     The document ID column  1002  stores a document ID. 
     The document ID group column  1004  stores a document group ID identifying the document group corresponding to the document ID uniquely. 
     The document group mapping module  960  receives the document ID of the document selected from the display document selection module  130 , retrieves the corresponding document ID from the document ID column  1002 , extracts the document group ID corresponding to the retrieved document ID from the document group ID column  1004 , and transfers the extracted document group ID to the document state storage module  135  along with the document ID. 
     The display document selection module  130  is connected to the document display module  125  and the document group mapping module  960 . The display document selection module  130  transfers the document ID of the document selected by a user to the document group mapping module  960 . 
     The document state storage module  135  is connected to the display object selection module  150 , the document group mapping module  960  and the life calculation module  140 . The document state storage module  135  receives and stores the document ID and the document group ID from the document group mapping module  960 . For example, a column storing the document group ID may be additionally provided in the document state table  400  shown in the example of  FIG. 4 . 
     The life calculation module  140  calculates a life value for the document group. For example, the life calculation module  140  calculates a life value for each document group ID stored in the document group ID column added to the document state table  400 . The method of calculating the life value is the same as the above-described first exemplary embodiment except that the life value is calculated for each document group, not for each document. 
     The document selection module  105  selects a document group to be retrieved. 
     The hardware configuration of a computer executing a program in the form of the above described embodiments is a general computer, specifically, a personal computer, a computer serving as a server, etc, as shown in  FIG. 11 . More specifically, CPU  1101  is used as a processor (arithmetic logic unit), and RAM  1102 , ROM  1103  and HD  1104  (for example a hard disk can be used) are used as storage devices. The hardware configuration of the computer includes the CPU  1101  executing programs of the document selection module  105 , the keyword retrieval module  110 , the life calculation module  140 , the document group mapping module  960 , etc., the RAM  1102  storing the programs and data, the ROM  1103  in which a program to start the computer and so on are stored, the HD  1104  as an auxiliary storage device, input devices  1106  such as a keyboard, a mouse and the like to input data, an output device  1105  such as a CRT or a liquid crystal display device, a communication line interface  1107  (which can, for example, use a network interface card) to be connected with a communication network, and a bus  1108  to interconnect the above components for data exchange among these components. Plural computers may be interconnected via a network. 
     The above-described embodiments are implemented by reading the computer program as software in the system of the hardware configuration and cooperation between software and hardware resources. 
     The hardware configuration shown in  FIG. 11  is only by way of example, and the above-described embodiments are not limited to the hardware configuration shown in  FIG. 11  but may have any configuration as long as it can execute the modules described in the above-described embodiments. For example, some modules may be configured as a dedicated hardware (for example, ASIC (Application Specific Integrated Circuit) or the like), some modules may be connected via a communication line with an external system, and additionally plural systems shown in  FIG. 11  may be interconnected via a communication line to allow cooperation between them. In addition, particularly, the hardware configuration may be assembled in an information home appliance, a copier, a facsimile, a scanner, a printer, a multifunction copier (image processing apparatus having two or more of the following: scanner, printer, copier and facsimile or the like) in addition to the personal computer. 
     Although the terms “equal to or larger than”, “smaller than” and so on are used to explain the relation between a life value and a threshold value in the above-described embodiments, the terms “larger than”, “equal to or smaller than” and so on may be used and any combination thereof may be used as long as it is not contradictory. 
     Although a life value illustrated as a retrieval target tends to decrease with time, it may increase with time. For example, a reciprocal of the life value may be used as a retrieval target. In this case, the relation with a threshold value is reversed. 
     The above-described program may be stored in a recording medium or may be provided by a communication device. In this case, for example, the above-described program may be understood as the invention of a “computer-readable recording medium having a program recorded therein.” 
     “Computer-readable recording medium having a program recorded therein” refers to a computer-readable recording medium having a program recorded therein, which is used for the installation, execution, distribution and so on of the program. 
     The recording medium may include, for example, a digital versatile disc (DVD) such as “DVR-R, DVD-RW, DVD-RAM and the like”, which are a standard specified by DVD Forum, and “DVD+R, DVD+RW and the like”, which are a standard specified as DVD+RW, a compact disc (CD) such as read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW) or the like, a blue-ray disc (trademark), a magneto-optical disc (MO), a flexible disc (FD), a magnetic tape, a hard disk, a read only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a random access memory (RAM), etc. 
     The program or a part thereof may be recorded in the recording medium for storage and distribution. In addition, the program or a part thereof may be transmitted via a communication device, for example, a transmission medium such as a wired network or a wireless network used for a local area network (LAN), metropolitan area network (MAN), wide area network (WAN), Internet, intranet, extranet and so on, or further a combination thereof, or may be carried using a carrier wave. 
     The program may be a part of another program or may be recorded in the recording medium along with a separate program. In addition, the program may be divided and recorded in plural recording media. In addition, the program may be recorded in any form including compression, encryption and so on as long as it can be reproduced. 
     The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The exemplary embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.