1. A natural language analysis method for calculating a score of matching of a sentence written in a natural language with a pattern having a dependency structure, the method comprising: receiving as inputs a sentence to be analyzed, an index value indexing how a linguistic unit in said sentence tends to modify another, and a query pattern; storing said inputs in a storage area; and calculating a matching score indexing the degree of matching of said sentence with said query pattern by a processor, said matching score being represented by a function having at least a variable, said variable being an index value with which a dependency relation included in said query pattern is associated; wherein said calculating comprises a step of recursively calling a substep of attempting association between a substructure of said query pattern and a range in said sentence and performing a calculation while storing a partial calculation result of said function in a memory area for reusing said result, in said substructure and said range.