A speech data retrieval apparatus comprising: a speech database including plural pieces of speech data therein; a speech recognition unit configured to read speech data from the speech database, carry out a speech recognition process with respect to the read speech data, and output a result of speech recognition process as a lattice in which a phoneme, a syllable, or a word is a base unit represented by labels of corresponding arcs in the lattice; a confusion network creation unit configured to create a confusion network based on the lattice from the speech recognition unit and output the result of speech recognition process as the confusion network; an inverted index table creation unit configured to create an inverted index table based on the confusion network from the confusion network creation unit, whereby the inverted index table creation unit is configured to sort arc information including a number corresponding to a source node of the respective arc and posterior probability by label; a query input unit configured to receive a query input by a user, carry out a speech recognition process with respect to the received query, and output a result of speech recognition process as a character string; a query conversion unit configured to convert the character string from the query input unit into a label string in which a phoneme, a syllable, or a word is a base unit; and a label string check unit configured to check the label string from the query conversion unit against the inverted index table from the inverted index table creation unit, retrieve speech data which is included in both of the label string and the speech database, and output a list of pointer which indicates an address in the speech database in which the retrieved speech data is stored, wherein the label string check unit is further configured to create a partial confusion network formed by one or more arcs corresponding to one or more labels included in the label string, to represent the label string in a graph of query formed by connecting arcs corresponding to labels included in the label string via nodes and by connecting to each node of the graph of query an arc originating from this node and returning to this node and to generate a graph of intersection between the graph of query and the partial confusion network, the graph of intersection formed by nodes and arcs, whereby two numbers are assigned to each node of the graph of intersection, one number corresponding to a node number of the partial confusion network and one number to a node number in the graph of query, whereby the node numbers are counted starting from corresponding source nodes to corresponding destination nodes of the partial confusion network and the graph of query, respectively. a speech database including plural pieces of speech data therein; a speech recognition unit configured to read speech data from the speech database, carry out a speech recognition process with respect to the read speech data, and output a result of speech recognition process as a lattice in which a phoneme, a syllable, or a word is a base unit represented by labels of corresponding arcs in the lattice; a confusion network creation unit configured to create a confusion network based on the lattice from the speech recognition unit and output the result of speech recognition process as the confusion network; an inverted index table creation unit configured to create an inverted index table based on the confusion network from the confusion network creation unit, whereby the inverted index table creation unit is configured to sort arc information including a number corresponding to a source node of the respective arc and posterior probability by label; a query input unit configured to receive a query input by a user, carry out a speech recognition process with respect to the received query, and output a result of speech recognition process as a character string; a query conversion unit configured to convert the character string from the query input unit into a label string in which a phoneme, a syllable, or a word is a base unit; and a label string check unit configured to check the label string from the query conversion unit against the inverted index table from the inverted index table creation unit, retrieve speech data which is included in both of the label string and the speech database, and output a list of pointer which indicates an address in the speech database in which the retrieved speech data is stored, wherein the label string check unit is further configured to create a partial confusion network formed by one or more arcs corresponding to one or more labels included in the label string, to represent the label string in a graph of query formed by connecting arcs corresponding to labels included in the label string via nodes and by connecting to each node of the graph of query an arc originating from this node and returning to this node and to generate a graph of intersection between the graph of query and the partial confusion network, the graph of intersection formed by nodes and arcs, whereby two numbers are assigned to each node of the graph of intersection, one number corresponding to a node number of the partial confusion network and one number to a node number in the graph of query, whereby the node numbers are counted starting from corresponding source nodes to corresponding destination nodes of the partial confusion network and the graph of query, respectively.