# Patent

## Title
Document importance calculation apparatus and method

## Abstract

A computer readable storage medium stores a program that allows a computer to execute a process comprising: acquiring information related to N documents; determining elements of an N×N square matrix D based on the acquired information, in order that D, a positive real number e, and a column vector u having N elements satisfy e u=D u according to the Perron-Frobenius theorem, each of the elements of D being a positive real number; initializing a column vector v having N elements, each of the elements of v corresponding to each of the elements of u; calculating a column vector w=(D v)/|D v|; updating v in the memory to w; iterating the calculating and the updating, until the v satisfies a predetermined condition; and assigning each of elements of the v to the importance of the document.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation application, filed under 35 U.S.C. §111(a), of PCT Application No. PCT/JP2007/055352, filed Mar. 16, 2007, the disclosure of which is herein incorporated in its entirety by reference.


FIELD
The embodiment discussed herein is related to a document importance calculation apparatus, and a document importance calculation method that calculates importance for each of a plurality of documents.
BACKGROUND
For a search system that searches for a document containing links, such a Web page, a technique for determining the display order of search results has been used (refer to, e.g., Patent Document 1, Patent Document 2, Non-Patent Document 1, and Non-Patent Document 2). A technique disclosed in Patent Document 1 determines the importance of each document based only on link relationship among documents to be searched for and displays search results in the descending order in terms of the importance.

    Patent Document 1: U.S. Pat. No. 6,285,999
    Patent Document 2: U.S. Patent Application Publication No. 2005/0071741
    Non-Patent Document 1: “The PageRank Citation Ranking: Bringing Order to the Web”: Lawrence Page, Sergey Brin, Rajeev Motwani, Terry Winograd (Jan. 29, 1998)
    Non-Patent Document 2: “Efficient Computation of PageRank”: Taher H. Haveliwala (Oct. 18, 1999)


However, the technique disclosed in Patent Document 1 can calculate the importance of the document to be searched for based only on the link relationship among the documents to be searched due to a large limitation imposed by the importance calculation.
Further, there are available some methods for calculating the importance considering influence of a plurality of types of parameters. A technique disclosed in Patent Document 2 calculates the importance based on the link relationship and then corrects the importance based on another parameter. However, the information calculated based on the link relationship is lost by the correction made based on the another parameter. Further, the technique disclosed in Patent Document 2 does not describe a concrete method for taking the influence of a plurality of types of parameters into consideration.
Although there can be considered a method in which weighting is given to a plurality of obtained importance degrees that have been calculated for each parameter, this method entails a problem that, since the importance calculation involving time-consuming iterative calculations is performed for each parameter, calculation amount becomes enormous.
SUMMARY
According to an aspect of the invention, A computer readable storage medium stores a document importance calculation program that allows a computer to execute a process comprising: acquiring information related to N documents; determining elements of an N×N square matrix D based on the acquired information, in order that D, a positive real number e, and a column vector u having N elements satisfy e u=D u according to the Perron-Frobenius theorem, each of the elements of D being a positive real number, each of the elements of u corresponding to importance of each of the N documents; initializing a column vector v having N elements so as to store v in a memory, each of the elements of v corresponding to each of the elements of u; calculating a column vector w=(D v)/|D v|; updating v in the memory to w; iterating the calculating of w and the updating of v, until the updated v satisfies a predetermined condition, so as to obtain the updated v being an approximation of u; and assigning each of elements of the updated v to the importance of the corresponding document.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.



BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram depicting an example of a configuration of a search system according to an embodiment of the present invention;
FIG. 2 is a table depicting an example of a document list file according to the present embodiment;
FIG. 3 is a table depicting an example of a creation date list file according to the present embodiment;
FIG. 4 is a table depicting an example of a link relationship file according to the present embodiment;
FIG. 5 is a table depicting an example of an evaluation list file according to the present embodiment;
FIG. 6 is a table depicting an example of a reference frequency list file according to the present embodiment;
FIG. 7 is a flowchart depicting an example of operation of an importance calculation section according to the present embodiment;
FIG. 8 is a table depicting an example of an importance list file according to the present embodiment;
FIG. 9 is a flowchart depicting a comparative example of iterative calculation processing according to the Prior Art;
FIG. 10 is a flowchart depicting an example of iterative calculation processing according to the present embodiment;
FIG. 11 is a table depicting an example of a matrix D determined by matrix determination processing according to the present embodiment;
FIG. 12 is a table depicting an example of results obtained by the iterative calculation processing according to the present embodiment;
FIG. 13 is a table depicting an example of tallied data according to the present embodiment;
FIG. 14 is a table depicting an example of link relationship according to the present embodiment;
FIG. 15 is a table depicting an example of link relationship data according to the present embodiment;
FIG. 16 is a table depicting weight data determined by matrix determination processing in a first example of the present embodiment;
FIG. 17 is a table depicting a matrix D determined by the matrix determination processing in the first example of the present embodiment;
FIG. 18 is a table depicting a result obtained by the iterative calculation processing in the first example of the present embodiment;
FIG. 19 is a table depicting the weight data determined by the matrix determination processing in the second example of the present embodiment;
FIG. 20 is a table depicting a matrix D determined by the matrix determination processing in the second example of the present embodiment;
FIG. 21 is a table depicting a result obtained by the iterative calculation processing in the second example of the present embodiment;
FIG. 22 is a table depicting the weight data determined by the matrix determination processing in the third example of the present embodiment;
FIG. 23 is a table depicting the matrix D determined by the matrix determination processing in the third example of the present embodiment;
FIG. 24 is a table depicting a result obtained by the iterative calculation processing in the third example of the present embodiment;
FIG. 25 is a table depicting values of Rand( ) determined by the matrix determination processing in a fourth example of the present embodiment;
FIG. 26 is a table depicting the matrix D determined by the matrix determination processing in the fourth example of the present embodiment;
FIG. 27 is a table depicting a result obtained by the iterative calculation processing in the fourth example of the present embodiment;
FIG. 28 is a table depicting the matrix D determined by the matrix determination processing in a fifth example of the present embodiment; and
FIG. 29 is a table depicting a result obtained by the iterative calculation processing in the fifth example of the present embodiment.



DESCRIPTION OF EMBODIMENT
An embodiment of the present invention will be described below with reference to the accompanying drawings.
In the present embodiment, a search system to which a document importance calculation apparatus according to the present invention is applied will be described.
First, a configuration of the search system according to the present embodiment will be described.
FIG. 1 is a block diagram depicting an example of a configuration of the search system according to the present embodiment. This search system includes a terminal 1, a search server 2, a document management section 3, a search index management section 4, and an importance calculation section 5. The terminal 1, search server 2, document management section 3, search index management section 4, and importance calculation section 5 are each realized by a computer and are connected via a network. Each of the computers has a CPU and a memory. The CPU executes a process allowed by a program on the memory.
The Document management section 3 stores and manages search target documents which are documents to be searched for by the search server 2. The search index management section 4 registers a search index for the search target documents and reflects an importance list file concerning the search target documents which is transmitted from the importance calculation section 5 in the search index. The terminal 1 transmits a search instruction and a document reference instruction to the search server 2 in accordance with an operation by a user referring to the documents. Further, the terminal 1 transmits an evaluation for each search target document which is given by the user to the search server 2.
The search server 2 uses the search index of the search index management section 4 to search the search target documents according to the search instruction from the terminal 1 and transmits a result of the search to the terminal 1. Further, according to the document reference instruction from the terminal 1, the search server 2 acquires a specified document from the document management section 3 so as to transmit it to the terminal 1 and transmits a document reference history as reference history information to the importance calculation section 5. The search server 2 transmits the evaluation for the search target document which is transmitted from the terminal 1 to the importance calculation section 5.
The importance calculation section 5 is accomplished by a computer which has a storage device. The importance calculation section 5 includes a document list creation section 12, a creation date extraction section 13, a link analysis section 14, an evaluation reception section 15, a reference frequency calculation section 16, a matrix determination section 17, and an iterative calculation section 18. A parameter acquisition section corresponds to the document list creation section 12, creation date extraction section 13, link analysis section 14, evaluation reception section 15, and reference frequency calculation section 16 in the present embodiment. The importance calculation section 5 includes an acquiring section.
The document list creation section 12 receives from the document management section 3 information of the search target documents managed by the document management section 3 and creates a document list file which is a list of the search target documents managed by the document management section 3 based on the information of the search target documents. FIG. 2 is a table depicting an example of the document list file according to the present embodiment. The creation date extraction section 13 receives from the document management section 3 information of the search target documents managed by the document management section 3 and creates a creation date list file which is a list of the creation dates of the search target documents managed by the document management section 3 based on the information of the search target documents. FIG. 3 is a table depicting an example of the creation date list file according to the present embodiment. The link analysis section 14 receives from the document management section 3 information of the search target documents managed by the document management section 3 and analyzes the link embedded in each search target document managed by the document management section 3 and creates a result of the analysis as a link relationship file. FIG. 4 is a table depicting an example of the link relationship file according to the present embodiment. The evaluation reception section 15 receives the user's evaluation for the search target document which is transmitted from the search server 2 and creates an evaluation list file based on the evaluation. FIG. 5 is a table depicting an example of the evaluation list file according to the present embodiment. The reference frequency calculation section 16 receives reference history information from the search server 2 and calculates the frequency (number of times) of reference to each search target document based on reference history information and creates a reference frequency list file. FIG. 6 is a table depicting an example of the reference frequency list file according to the present embodiment. The document list creation section 12 stores the document list file in the storage device. The creation date extraction section 13 stores the creation date list file in the storage device. The link analysis section 14 stores the a result of the analysis in the storage device. The evaluation reception section 15 stores the evaluation list file in the storage device. The reference frequency calculation section 16 stores the reference frequency list file in the storage device.
Next, operation of the importance calculation section 5 will be described.
FIG. 7 is a flowchart depicting an example of the operation of the importance calculation section 5 according to the present embodiment. The document list creation section 12, the creation date extraction section 13, the link analysis section 14, the evaluation reception section 15, and the reference frequency calculation section 16 perform parameter acquisition processing of acquiring parameters concerning each document and creating the document list file, creation date list file, link relationship file, evaluation list file, and reference frequency list (S11: parameter acquisition step). Then, the matrix determination section 17 performs matrix determination processing of determining a matrix D for calculation of the importance of each search target document based on the above respective files and stores D in a memory in the importance calculation section 5 (S12: matrix determination step). Subsequently, the iterative calculation section 18 performs iterative calculation processing of calculating the importance of each search target document by using the matrix D and stores in a storage device in the importance calculation section 5 a result of the calculation as an importance list file and transmits the importance list file to the search index management section 4 (S13: iterative calculation step), and this flow is ended. FIG. 8 is a table depicting an example of the importance list file according to the present embodiment.
Next, the operation of the iterative calculation processing will be described.
It is assumed that the total number of the search target documents is N, N being a positive integer, and that IDs from 1 to N are assigned to the search target documents by the document management section 3. Further, a search target document of ID n is assumed to be P_n. Further, when a positive real number is u_n (n=1, 2, . . . , N), a column vector having, as an element, u_n is assumed to be u. d_i_j (i, j=1, 2, . . . , N) is assumed to be an arbitrary positive real number, and a matrix in which (i,j)th element is d_i_j is assumed to be D.
According to the Perron-Frobenius theorem of linear algebra, an arbitrary D has positive eigenvalues (corresponding to numeral e in which a vector u that satisfies e u=D u and that is not 0 exists, and this u is called an eigenvector of D with respect to e). The maximum one among the positive eigenvalues is a Frobenius root of D. The eigenvectors u of D with respect to the Frobenius root e are positive and, thus, only one eigenvector u satisfies |u|=1. The norm used here is assumed to the infinite norm (|u|=max{|u_n|; n=1, 2, . . . , N}).
A designer of the search system can freely define D in accordance with various parameters given to the search target document P_n (n=1, 2, . . . , N) (e.g., link relationship, creation date, evaluation given by user referring to document, number of times of reference to document). Since there exists, for thus defined D, only one set of the Frobenius root e of D and positive eigenvector u with respect to e that satisfies |u|=1, u_n obtained at this time is defined as the importance of P_n.
When d_m_n is defined as the following equations assuming that L_n links are available from P_n, u that satisfies u=D u, |u|=1 can calculate the same value as that in the technique disclosed in Patent Document 1. The norm used here is assumed to be one norm (|u|=u—1+u—2+ . . . +u_N), and the number of links available from P_n is assumed to be L_n. The constant c is assumed to be 0.15.

d—m—n=c/N 

(in the case where there is no link from P_n to P_m)

d—m—n=c/N+(1−c)/L—n 

(in the case where there is any link from P_n to P_m)
Next, a comparative example of iterative calculation processing using the technique disclosed in Patent Document 1 and the like and iterative calculation processing according to the present embodiment which is performed by the iterative calculation section 18 are compared.
First, the comparative example of iterative calculation processing will be described. FIG. 9 is a flowchart depicting a comparative example of an iterative calculation processing. The comparative example of iterative calculation processing sets the iteration count k to 1 and performs initialization with all elements of a column vector v_k having a length N set to 1 and stores v_k in a memory (S21). The comparative example of iterative calculation processing then increases k by 1 (S22). Subsequently, the comparative example of iterative calculation processing calculates v_k=D v_(k−1) and updates v_k in the memory (S23).
The comparative example of iterative calculation processing then calculates the norm |v_k−v_(k−1)| of a difference between v_k obtained at this time and v_(k−1) obtained at the previous time and determines whether |v_k−v_(k−1)|<s is satisfied or not (S31). The threshold s is a quite small positive integer and is 0.00001, for example. In the case where |v_k−v_(k−1)|<s is not satisfied (No in S31), the flow returns to S22, and S22 and subsequent steps are repeated. In the case where |v_k−v_(k−1)|<s is satisfied (Yes in S31), the comparative example of iterative calculation processing sets v_k as importance vector u (S32), and this flow is ended.
However, the elements of each column of D used in the comparative example of iterative calculation processing is probability based on the link relationship, and there is a restriction that the sum of the elements of each column of D must be 1. If this restriction is not satisfied, v_k diverges, making it impossible to calculate the importance.
Next, iterative calculation processing according to the present embodiment will be described. FIG. 10 is a flowchart depicting an example of the iterative calculation processing according to the present embodiment. In FIG. 10, the same reference numerals as those in FIG. 9 denote the same processing as in FIG. 9, and the descriptions thereof will be omitted here. As can be seen by comparing with the comparative example of iterative calculation processing, the iterative calculation processing according to the present embodiment executes S24 and S25 in place of S23.
First, as in the case of the comparative example of iterative calculation processing, the iterative calculation section 18 executes S21 and S22. Then, the iterative calculation section 18 calculates e_(k−1)=|D v_(k−1)| (S24) and v_k=(1/e_(k−1))D v_(k−1) and updates v_k in the memory (S25). w=D v_(k−1)/|D v_(k−1)| is equivalent to v_k.
The iterative calculation section 18 then executes S31 as in the case of the comparative example of iterative calculation processing. In the case where |v_k−v_(k−1)|<s is not satisfied (No in S31), the flow returns to S22 and the iterative calculation section 18 repeats S22 and subsequent steps. In the case where |v_k−v_(k−1)|<s is satisfied (Yes in S31), the iterative calculation section 18 executes S32 as in the case of the comparative example of iterative calculation processing, and this flow is ended.
According to the iterative calculation processing of the present embodiment, as k is increased, e_k converges to e, and v_k converges to u. Further, the iterative calculation is ended, by S31, at the time point when a change in v_k becomes satisfactorily small. That is, the iterative calculation section 18 calculates v_k which is an approximation of u that satisfies e u=D u.
With the processing of S24 and S25, the iterative calculation processing according to the present embodiment can converge v_k without giving the restriction of the comparative example to D.
A concrete example of the iterative calculation processing according to the present embodiment will be described.
FIG. 11 is a table depicting an example of a matrix D determined by the matrix determination processing according to the present embodiment. In this example, D is determined as depicting in this table with N set to 6. It is only necessary for this D, to which the restriction as that applied to D of the comparative example is not applied, that each element is a positive real number. FIG. 12 is a table depicting an example of results obtained by the iterative calculation processing according to the present embodiment. This table depicts iteration count k set by S22 and values of D v_(k−1) and e_(k−1) calculated by S24, v_k calculated by S25, v_k−v_(k−1), v_(k−1)−v_k, and |v_k−v_(k−1)| calculated by S31. These values (calculation results) are represented for each iterative count k. In this example, |v_k−v_(k−1)| falls below a threshold value at the time point of iterative count k=10, so that the iterative calculation section 18 ends the iterative calculation and sets v_10 as the importance vector u with respect to D.
Next, an outline of the matrix determination processing will be described.
In the present embodiment, matrix D can freely be defined by the iterative calculation processing, so that a designer of the search system can reflect creation date of the search target document or evaluation given by the user in D. Hereinafter, the outline of the matrix determination processing will be described using an example in which D is determined based on creation dates of the search target documents, evaluation therefor, frequency of reference thereto, and link relationship thereamong.
It is assumed that the creation date of P_m is p days before the time of the matrix determination processing. The matrix determination section 17 calculates p based on the current date and creation date list file. It is assumed that weighting when the creation date of the search target document is p days before the calculation time is x_m (positive real number). x_m is set so as to become larger as p becomes smaller.
Further, it is assumed that the evaluation for the search target document P_m is y_m (positive real number). The matrix determination section 17 calculates y_m based on the evaluation list file. y_m is set so as to become larger as the evaluation becomes higher.
Further, it is assumed that the frequency of reference to the search target document P_m is z_m (positive real number). The matrix determination section 17 calculates z_m based on the reference frequency list file. z_m is set so as to become larger as the reference frequency becomes larger.
Then, the matrix determination section 17 determines presence/absence of the link from P_n to P_m based on the link relationship file and determines the element d_m_n of D depending on the presence/absence of the link. Here, a case where the product of x_m, y_m, and z_m is used for the calculation of d_m_n is represented. d_m_n is defined by the following equations.



  
    
      d_m
      ⁢
      _n
    
    =
    
      cx_my
      ⁢
      _mz
      ⁢
      _m
    
  




  
    (
    
      m
      ,
      
        n
        =
        1
      
      ,
      2
      ,
      ...
      ⁢
      
        
      
      ,
      N
    
    )
  




  
    (
    
      in
      ⁢
      
        
      
      ⁢
      the
      ⁢
      
        
      
      ⁢
      case
      ⁢
      
        
      
      ⁢
      where
      ⁢
      
        
      
      ⁢
      there
      ⁢
      
        
          
        
        ⁢
        
          
        
      
      ⁢
      is
      ⁢
      
        
      
      ⁢
      no
      ⁢
      
        
      
      ⁢
      link
      ⁢
      
        
      
      ⁢
      from
      ⁢
      
        
      
      ⁢
      P_n
      ⁢
      
        
      
      ⁢
      to
      ⁢
      
        
      
      ⁢
      P_m
    
    )
  




  
    
      d_m
      ⁢
      _n
    
    =
    
      
        cx_my
        ⁢
        _mz
        ⁢
        _m
      
      +
      
        x_mx
        ⁢
        _ny
        ⁢
        _my
        ⁢
        _nz
        ⁢
        _mz
        ⁢
        _n
      
    
  




  
    
      (
      
        m
        ,
        
          n
          =
          1
        
        ,
        2
        ,
        ...
        ⁢
        
          
        
        ,
        N
      
      )
    
    ⁢
    
      

    
    ⁢
    
      (
      
        in
        ⁢
        
          
        
        ⁢
        the
        ⁢
        
          
        
        ⁢
        case
        ⁢
        
          
        
        ⁢
        where
        ⁢
        
          
        
        ⁢
        there
        ⁢
        
          
            
          
          ⁢
          
            
          
        
        ⁢
        is
        ⁢
        
          
        
        ⁢
        any
        ⁢
        
          
        
        ⁢
        link
        ⁢
        
          
        
        ⁢
        from
        ⁢
        
          
        
        ⁢
        P_n
        ⁢
        
          
        
        ⁢
        to
        ⁢
        
          
        
        ⁢
        P_m
      
      )
    
  



Although the influence that x_m, y_m, and z_m exert on d_m_n is represented by the product of x_m, y_m, z_m, x_n, y_n, and z_n in this example, it may be represented by the sum or other operations thereof.
As described above, a designer of the search system can freely determine D considering the influence of a plurality of parameters (in this embodiment, creation date, evaluation, reference frequency, and link relationship).
Next, a concrete example of data used in the matrix determination processing will be described.
The matrix determination section 17 tallies up data and utilizes the resultant data as tallied data. FIG. 13 is a table depicting an example of the tallied data according to the present embodiment. It is assumed, in this example, that the number N of search target documents is 6 and that the data tallying date is 2007/2/7. The matrix determination section 17 acquires creation date from the creation date list file, calculates difference p between the data tallying date (present) and creation date, selects from the evaluation list file effective evaluations satisfying a predetermined criterion so as to count the number q of the effective evaluations, and acquires reference frequency r from the reference frequency list file. The table of FIG. 13 depicts the tallied results of creation date, difference p of date, the number q of effective evaluations, and reference frequency r for each P_n (n=1, 2, . . . , 6).
FIG. 14 is a table depicting an example of the link relationship according to the present embodiment. It is assumed that there exists a link relationship as depicted in FIG. 14 among P_n (n=1, 2, . . . , 6). The matrix determination section 17 tallies up links based on the link relationship file depicting the link relationship and utilizes the resultant data as link relationship data. FIG. 15 is a table depicting an example of the link relationship data according to the present embodiment. In the table of FIG. 15, documents represented below a column title “from” are link sources, and documents represented to the right of a row title “to” are link destinations. “o” denotes existence of a link between a link source and link destination corresponding to the cell in which “o” is placed. Further, the number L_n of links available from P_n is tallied up for each link source.
Next, examples of operation of the importance calculation section 5 will be described. In the following examples, values of the abovementioned tallied data and link relation data are used.
As a first example of the operation of the importance calculation section 5, a case where importance emphasizing the creation date is calculated will be described.
In the matrix determination processing, the matrix determination section 17 uses the tallied data to calculate, as weight data of a search target document P_m for each parameter, weight data x_m representing the weight of the creation date, weight data y_m representing the weight of the number of effective evaluations, and weight data z_m representing the weight of the reference frequency. x_m, y_m, and z_m are defined by the following equations respectively.

x—m=exp(−p/100)*1.5

y—m=log(q+2)*0.2

z—m=log(r+2)*0.03

According to the above equations, x_m is set higher. FIG. 16 is a table depicting the weight data determined by the matrix determination processing in the first example of the present embodiment. The matrix determination section 17 then determines presence/absence of the link from P_n to P_m based on the link relationship data and determines the element d_m_n of D depending on the presence/absence of the link and weight data. Here, a case where the sum of x_m, y_m, and z_m is used for the calculation of d_m_n will be described. d_m_n is defined by the following equations.



  
    
      
    
    ⁢
    
      
        d_m
        ⁢
        _n
      
      =
      
        
          c
          /
          N
        
        +
        x_m
        +
        y_m
        +
        
          z_m
          ⁢
          
            
          
          ⁢
          
            (
            
              m
              ,
              
                n
                =
                1
              
              ,
              2
              ,
              ...
              ⁢
              
                
              
              ,
              N
            
            )
          
        
      
    
  




  
    
      (
      
        in
        ⁢
        
          
        
        ⁢
        the
        ⁢
        
          
        
        ⁢
        case
        ⁢
        
          
        
        ⁢
        where
        ⁢
        
          
        
        ⁢
        there
        ⁢
        
          
            
          
          ⁢
          
            
          
        
        ⁢
        is
        ⁢
        
          
        
        ⁢
        no
        ⁢
        
          
        
        ⁢
        link
        ⁢
        
          
        
        ⁢
        from
        ⁢
        
          
        
        ⁢
        P_n
        ⁢
        
          
        
        ⁢
        to
        ⁢
        
          
        
        ⁢
        P_m
      
      )
    
    ⁢
    
      
    
  




  
    
      
    
    ⁢
    
      
        d_m
        ⁢
        _n
      
      =
      
        
          c
          /
          N
        
        +
        x_m
        +
        y_m
        +
        z_m
        +
        
          
            (
            
              1
              -
              c
            
            )
          
          *
          
            
              (
              
                x_m
                +
                y_m
                +
                z_m
              
              )
            
            /
            L_n
          
        
      
    
  




  
    (
    
      m
      ,
      
        n
        =
        1
      
      ,
      2
      ,
      ...
      ⁢
      
        
      
      ,
      N
    
    )
  




  
    
      
    
    ⁢
    
      (
      
        in
        ⁢
        
          
        
        ⁢
        the
        ⁢
        
          
        
        ⁢
        case
        ⁢
        
          
        
        ⁢
        where
        ⁢
        
          
        
        ⁢
        there
        ⁢
        
          
            
          
          ⁢
          
            
          
        
        ⁢
        is
        ⁢
        
          
        
        ⁢
        any
        ⁢
        
          
        
        ⁢
        link
        ⁢
        
          
        
        ⁢
        from
        ⁢
        
          
        
        ⁢
        P_n
        ⁢
        
          
        
        ⁢
        to
        ⁢
        
          
        
        ⁢
        P_m
      
      )
    
  




  
    
      
    
    ⁢
    
      c
      =
      0.15
    
    ⁢
    
      
    
  



Then, the matrix determination section 17 determines D by applying the above equations to the abovementioned values of the link relationship data and weight data. FIG. 17 is a table depicting the matrix D determined by the matrix determination processing in the first example of the present embodiment. In the table of FIG. 17, a number assigned to each row denotes m, a number assigned to each column denotes n, and an element specified by m and n denotes the value of d_m_n.
Then, the iterative calculation section 18 executes the flow of the abovementioned iterative calculation processing to calculate the importance vector u. FIG. 18 is a table depicting a result obtained by the iterative calculation processing in the first example of the present embodiment. Since |v_k−v_(k−1)| falls below the threshold value at the time when k=10, the iterative calculation section 18 ends the iterative calculation and sets v_10 as the importance vector u with respect to D. The iterative calculation section 18 may set the ranking among importance u_m (m=1, 2, . . . , 6) which are elements of the obtained u in terms of magnitude as the display order among P_m (m=1, 2, . . . , 6). It can be seen that the display orders of P_1 and P_2 in which the value of period p from the creation date to data tallying date is relatively small become higher by the above weighting. According to the first example, it is possible to obtain the importance and display order emphasizing the influence of the creation date while considering the influences of the respective parameters such as the creation date, number of effective evaluations, reference frequency, and link relationship.
Next, as a second example of the operation of the importance calculation section 5, a case where importance emphasizing the number of effective evaluations is calculated will be described.
In the matrix determination processing, the weight data x_m, y_m, and z_m are defined by the following equations respectively.

x—m=exp(−p/100)*0.2

y—m=log(q+2)*1.2

z—m=log(r+2)*0.03

It can be seen that equations of the first and second examples differ in the magnitude of the factor at the end of the equation. That is, in the second example, y_m is set higher. FIG. 19 is a table depicting the weight data determined by the matrix determination processing in the second example of the present embodiment. The matrix determination section 17 uses the weight data to determine D in the same manner as in the first example. FIG. 20 is a table depicting the matrix D determined by the matrix determination processing in the second example of the present embodiment.
Then, the iterative calculation section 18 executes the flow of the abovementioned iterative calculation processing to calculate the importance vector u. FIG. 21 is a table depicting a result obtained by the iterative calculation processing in the second example of the present embodiment. Since |v_k−v_(k−1)| falls below the threshold value at the time when k=10, the iterative calculation section 18 ends the iterative calculation and sets v_10 as the importance vector u with respect to D. It can be seen that the display orders of P_4 and P_6 in which the value of the number p of effective evaluations is relatively large become higher by the above weighting. According to the second example, it is possible to obtain the importance and display order emphasizing the influence of the number of effective evaluations while considering the influences of the respective parameters such as the creation date, number of effective evaluations, reference frequency, and link relationship.
Next, as a third example of the operation of the importance calculation section 5, a case where importance emphasizing the reference frequency is calculated will be described.
In the matrix determination processing, the weight data x_m, y_m, and z_m are defined by the following equations respectively.

x—m=exp(−p/100)*0.2

y—m=log(q+2)*0.2

z—m=log(r+2)*0.2

It can be seen that equations of the first and third examples differ in the magnitude of the factor at the end of the equation. That is, in the third example, z_m is set higher. FIG. 22 is a table depicting the weight data determined by the matrix determination processing in the third example of the present embodiment. The matrix determination section 17 uses the weight data to determine D in the same manner as in the first example. FIG. 23 is a table depicting the matrix D determined by the matrix determination processing in the third example of the present embodiment.
Then, the iterative calculation processing section 18 executes the flow of the abovementioned iterative calculation processing to calculate the importance vector u. FIG. 24 is a table depicting a result obtained by the iterative calculation processing in the third example of the present embodiment. Since |v_k−v_(k−1)| falls below the threshold value at the time when k=11, the iterative calculation section 18 ends the iterative calculation and sets v_11 as the importance vector u with respect to D. It can be seen that the display orders of P_4 and P_3 in which the value of the reference frequency r is relatively large become higher by the above weighting. According to the third example, it is possible to obtain the importance and display order emphasizing the influence of the reference frequency while considering the influences of the respective parameters such as the creation date, number of effective evaluations, reference frequency, and link relationship.
Next, as a fourth example of the operation of the importance calculation section 5, a case where the importance is calculated with the weight data is randomly set will be described.
The matrix determination section 17 sets the weight data of d_m_n as random numbers. The matrix determination section 17 then determines presence/absence of the link from P_n to P_m based on the link relationship file and determines the element d_m_n of D depending on the presence/absence of the link and weight data. d_m_n is defined by the following equations.



  
    
      d_m
      ⁢
      _n
    
    =
    
      
        c
        /
        N
      
      +
      
        Rand
        ⁡
        
          (
          
            
          
          )
        
      
    
  




  
    (
    
      m
      ,
      
        n
        =
        1
      
      ,
      2
      ,
      ...
      ⁢
      
        
      
      ,
      N
    
    )
  




  
    (
    
      in
      ⁢
      
        
      
      ⁢
      the
      ⁢
      
        
      
      ⁢
      case
      ⁢
      
        
      
      ⁢
      where
      ⁢
      
        
      
      ⁢
      there
      ⁢
      
        
          
        
        ⁢
        
          
        
      
      ⁢
      is
      ⁢
      
        
      
      ⁢
      no
      ⁢
      
        
      
      ⁢
      link
      ⁢
      
        
      
      ⁢
      from
      ⁢
      
        
      
      ⁢
      P_n
      ⁢
      
        
      
      ⁢
      to
      ⁢
      
        
      
      ⁢
      P_m
    
    )
  




  
    
      d_m
      ⁢
      _n
    
    =
    
      
        c
        /
        N
      
      +
      
        
          (
          
            1
            ⁢
            
              -
            
            ⁢
            c
          
          )
        
        /
        L_n
      
      +
      
        Rand
        (
        )
      
    
  




  
    (
    
      m
      ,
      
        n
        =
        1
      
      ,
      2
      ,
      ...
      ⁢
      
        
      
      ,
      N
    
    )
  




  
    (
    
      in
      ⁢
      
        
      
      ⁢
      the
      ⁢
      
        
      
      ⁢
      case
      ⁢
      
        
      
      ⁢
      where
      ⁢
      
        
      
      ⁢
      there
      ⁢
      
        
          
        
        ⁢
        
          
        
      
      ⁢
      is
      ⁢
      
        
      
      ⁢
      any
      ⁢
      
        
      
      ⁢
      link
      ⁢
      
        
      
      ⁢
      from
      ⁢
      
        
      
      ⁢
      P_n
      ⁢
      
        
      
      ⁢
      to
      ⁢
      
        
      
      ⁢
      P_m
    
    )
  




  
    c
    =
    0.15
  



Rand( ) is a function that generates a random real number not less than 0 and less than 1. FIG. 25 is a table depicting values of Rand( ) determined by the matrix determination processing in the fourth example of the present embodiment. FIG. 26 is a table depicting the matrix D determined by the matrix determination processing in the fourth example of the present embodiment.
Then, the iterative calculation section 18 executes the flow of the abovementioned iterative calculation processing to calculate the importance vector u. FIG. 27 is a table depicting a result obtained by the iterative calculation processing in the fourth example of the present embodiment. Since |v_k−v_(k−1)| falls below the threshold value at the time when k=8, the iterative calculation section 18 ends the iterative calculation and sets v_8 as the importance vector u with respect to D. According to the fourth example, it is possible to obtain the importance and display order on which the influence of random numbers is exerted while considering the influences of the link relationship.
Next, as a fifth example of the operation of the importance calculation section 5, a case where the importance is calculated based only on the link relationship, without using the weight data will be described.
The matrix determination section 17 then determines presence/absence of the link from P_n to P_m based on the link relationship file and determines the element d_m_n of D depending on the presence/absence of the link. d_m_n is defined by the following equations.



  
    
      d_m
      ⁢
      _n
    
    =
    
      c
      /
      
        N
        ⁢
        
          

        
        (
        
          m
          ,
          
            n
            =
            1
          
          ,
          2
          ,
          ...
          ⁢
          
            
          
          ,
          N
        
        )
      
    
  




  
    (
    
      in
      ⁢
      
        
      
      ⁢
      the
      ⁢
      
        
      
      ⁢
      case
      ⁢
      
        
      
      ⁢
      where
      ⁢
      
        
      
      ⁢
      there
      ⁢
      
        
          
        
        ⁢
        
          
        
      
      ⁢
      is
      ⁢
      
        
      
      ⁢
      no
      ⁢
      
        
      
      ⁢
      link
      ⁢
      
        
      
      ⁢
      from
      ⁢
      
        
      
      ⁢
      P_n
      ⁢
      
        
      
      ⁢
      to
      ⁢
      
        
      
      ⁢
      P_m
    
    )
  




  
    
      d_m
      ⁢
      _n
    
    =
    
      
        c
        /
        N
      
      +
      
        
          (
          
            1
            ⁢
            
              -
            
            ⁢
            c
          
          )
        
        /
        L_n
      
    
  




  
    (
    
      m
      ,
      
        n
        =
        1
      
      ,
      2
      ,
      ...
      ⁢
      
        
      
      ,
      N
    
    )
  




  
    (
    
      in
      ⁢
      
        
      
      ⁢
      the
      ⁢
      
        
      
      ⁢
      case
      ⁢
      
        
      
      ⁢
      where
      ⁢
      
        
      
      ⁢
      there
      ⁢
      
        
          
        
        ⁢
        
          
        
      
      ⁢
      is
      ⁢
      
        
      
      ⁢
      any
      ⁢
      
        
      
      ⁢
      link
      ⁢
      
        
      
      ⁢
      from
      ⁢
      
        
      
      ⁢
      P_n
      ⁢
      
        
      
      ⁢
      to
      ⁢
      
        
      
      ⁢
      P_m
    
    )
  




  
    c
    =
    0.15
  



FIG. 28 is a table depicting the matrix D determined by the matrix determination processing in the fifth example of the present embodiment. This D is a matrix reflected only in the link relationship.
Then, the iterative calculation section 18 executes the flow of the abovementioned iterative calculation processing to calculate the importance vector u. FIG. 29 is a table depicting a result obtained by the iterative calculation processing in the fifth example of the present embodiment. Since |v_k−v_(k−1)| falls below the threshold value at the time when k=14, the iterative calculation section 18 ends the iterative calculation and sets v_14 as the importance vector u with respect to D. According to the fifth example in which the weight data is not used, it is possible to obtain the importance and display order based only on the link relationship as in the case of the technique disclosed in Patent Document 1.
According to the present embodiment, a designer of the search system can define the weighting of a plurality of parameters with less restrictions than ever before by using the above iterative calculation algorithm so as to determine the matrix D. Further, it is possible to calculate the importance by a single matrix calculation regardless of the number of the parameters, making it possible to calculate the importance at high speed without losing information of all the parameters used.
The document importance calculation apparatus according to the present embodiment can easily be applied to an information processing apparatus to thereby enhance performance thereof. Examples of the information processing apparatus include, e.g., a server, a PC (Personal Computer), and the like.
Further, it is possible to provide a program that allows a computer constituting the document importance calculation apparatus to execute the above steps as a document importance calculation program. By storing the above program in a computer-readable storage medium, it is possible to allow the computer constituting the document importance calculation apparatus to execute the program. The computer-readable medium mentioned here includes: an internal storage device mounted in a computer, such as ROM or RAM, a portable storage medium such as a CD-ROM, a flexible disk, a DVD disk, a magneto-optical disk, or an IC card; a database that holds computer program; another computer and database thereof.
According to the present embodiment, it is possible to effectively calculate the importance of a document considering the influence of parameters concerning the document.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiment(s) of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.

## Claims

1. A non-transitory computer readable storage medium storing a document importance calculation program that allows a computer to execute a process comprising:
acquiring information related to N documents;
determining elements of an N×N square matrix D based on the acquired information, in order that D, a positive real number e, and a column vector u having N elements satisfy e u=D u according to the Perron-Frobenius theorem, each of the elements of D being a positive real number, each of the elements of u corresponding to an importance of each of the N documents;
initializing a column vector v having N elements so as to store v in a memory, each of the elements of v corresponding to each of the elements of u;
calculating a column vector w=(D v)/|D v|;
updating v in the memory to w;
iterating the calculating of w and the updating of v, until the updated v satisfies a predetermined condition, so as to obtain the updated v being an approximation of u; and
assigning each of elements of the updated v to the importance of a corresponding document.

2. The non-transitory computer readable storage medium according to claim 1, wherein
the information includes any of a link relationship among the N documents, a creation date of each of the N documents, an evaluation result for each of the N documents by a referrer, and a frequency of references to each of the N documents.

3. The non-transitory computer readable storage medium according to claim 1, wherein
the determining calculates a value of an element of D in the m-th row and n-th column, according to the information related to an m-th document in the N documents or the information related to the m-th and n-th documents in the N documents.

4. The non-transitory computer readable storage medium according to claim 1, wherein
the predetermined condition is that a norm of a difference between v before the updating and v after the updating is smaller than a predetermined threshold value.

5. The non-transitory computer readable storage medium according to claim 1, wherein
the acquiring receives the information from a storage via a network.

6. The non-transitory computer readable storage medium according to claim 1, wherein
the information includes a creation date of an m-th document of the N documents, and
the determining determines a value of an element of D in the m-th row and n-th column according to a predetermined relationship that the determined value increases with increasing the creation date of the m-th document.

7. The non-transitory computer readable storage medium according to claim 1, wherein
the information includes evaluation results for an m-th document of the N documents,
the determining selects from the evaluation results specific evaluation results satisfying a predetermined criterion, counts the number of the specific evaluation results, and determines a value of an element of D in the m-th row and n-th column in D according to a predetermined relationship that the determined value increases with increasing the counted number.

8. The non-transitory computer readable storage medium according to claim 1, wherein
the information includes a frequency of references to an m-th document of the N documents, and
the determining determines a value of an element of D in the m-th row and n-th column according to a predetermined relationship that the determined value increases with increasing the frequency.

9. The non-transitory computer readable storage medium according to claim 1, wherein
the information includes a link relationship of an m-th document to another document, and
when the link relationship indicates a link from an n-th document to the m-th document, the determining increases a value of an element of D in the m-th row and n-th column.

10. A document importance calculation apparatus comprising:
a processor coupled to a memory, wherein the processor is programmed to execute a process comprising:
acquiring information related to N documents;
determining elements of an N×N square matrix D based on the acquired information, in order that D, a positive real number e, and a column vector u having N elements satisfy e u=D u according to the Perron-Frobenius theorem, each of the elements of D being a positive real number, each of the elements of u corresponding to an importance of each of the N documents;
initializing a column vector v having N elements so as to store v in the memory, each of the elements of v corresponding to each of the elements of u,
calculating a column vector w=(D v)/|D v|,
updating v in the memory to w,
iterating the calculating of w and the updating of v, until the updated v satisfies a predetermined condition, so as to obtain the updated v being an approximation of u, and
assigning each of elements of the updated v to the importance of a corresponding document.

11. The document importance calculation apparatus according to claim 10, wherein
the information includes any of a link relationship among the N documents, a creation date of each of the N documents, an evaluation result for each of the N documents by a referrer, and a frequency of references to each of the N documents.

12. The document importance calculation apparatus according to claim 10, wherein
a matrix determination section calculates a value of an element of D in the m-th row and n-th column, according to the information related to an m-th document in the N documents or the information related to the m-th and n-th documents in the N documents.

13. The document importance calculation apparatus according to claim 10, wherein
the predetermined condition is that a norm of a difference between v before the updating and v after the updating is smaller than a predetermined threshold value.

14. The document importance calculation apparatus according to claim 10, wherein
an acquiring section receives the information from a storage via a network.

15. The document importance calculation apparatus according to claim 10, wherein
the information includes a creation date of an m-th document of the N documents, and
a matrix determination section determines a value of an element of D in the m-th row and n-th column according to a predetermined relationship that the determined value increases with increasing the creation date of the m-th document.

16. The document importance calculation apparatus according to claim 10, wherein
the information includes evaluation results for an m-th document of the N documents,
a matrix determination section selects from the evaluation results specific evaluation results satisfying a predetermined criterion, counts the number of the specific evaluation results, and determines a value of an element of D in the m-th row and n-th column in D according to a predetermined relationship that the determined value increases with increasing the counted number.

17. The document importance calculation apparatus according to claim 10, wherein
the information includes frequency of references to an m-th document of the N documents, and
a matrix determination section determines a value of an element of D in the m-th row and n-th column according to a predetermined relationship that the determined value increases with increasing the frequency.

18. The document importance calculation apparatus according to claim 10, wherein
the information includes a link relationship of an m-th document to another document, and
when the link relationship indicates a link from an n-th document to the m-th document, the matrix determination section increases a value of an element of D in the m-th row and n-th column.

19. A document importance calculation method comprising:
acquiring information related to N documents;
determining elements of an N×n square matrix D based on the acquired information, in order that D, a positive real number e, and a column vector u having N elements satisfy e u=D u according to the Perron-Frobenius theorem, each of the elements of D being a positive real number, each of the elements of u corresponding to an importance of each of the N documents;
initializing a column vector v having N elements so as to store v in a memory, each of the elements of v corresponding to each of the elements of u;
calculating a column vector w=(D v)/|D v|;
updating v in the memory to w;
iterating the calculating of w and the updating of v, until the updated v satisfies a predetermined condition, so as to obtain the updated v being an approximation of u; and
assigning each of elements of the updated v to the importance of a corresponding document.

20. The document importance calculation method according to claim 19, wherein
the information includes any of a link relationship among the N documents, a creation date of each of the N documents, an evaluation result for each of the N documents by a referrer, and a frequency of references to each of the N documents.