1. A computer implemented information retrieval system for retrieving information from a database, comprising: a parser for parsing a natural language query into its constituent phrases to produce a syntax analysis result; a plurality of virtual tables for converting phrases of the natural language query to retrieval keys possessed by the database, said virtual tables accounting for particles that modify the phrases; a collating unit for preparing a database retrieval formula from the syntax analysis result by selecting at least one virtual table that is used to convert the phrases of the natural language query to keys possessed by the database; and a retrieval execution unit for retrieving data from the database based on said database retrieval formula.