Query rewrite corrections
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for natural language processing. One of the methods includes receiving a first voice query; generating a first recognition output; receiving a second voice query; determining from a recognition of the second voice query that the second voice query triggers a correction request; using the first recognition output and the second recognition to determine a plurality of candidate corrections; scoring each candidate correction; and generating a corrected recognition output for a particular candidate correction having a score that satisfies a threshold value.
1. A method comprising:
receiving a first voice query;
generating a first recognition output;
receiving a second voice query;
determining from a recognition of the second voice query that the second voice query triggers a correction request, wherein determining that the recognition of the second voice query triggers the correction request includes parsing the second voice query to detect a correction prefix;
using the first recognition output and the second recognition to determine a plurality of candidate corrections;
scoring each candidate correction; and
generating a corrected recognition output for a particular candidate correction having a score that satisfies a threshold value.
2. The method of claim 1 , wherein using the first recognition output and the second recognition to determine a plurality of candidate corrected queries comprises:
determining a misrecognition portion of the first recognition output; and
substituting the misrecognition portion with one or more candidate n-grams to form a candidate correction.
3. The method of claim 2 , wherein the one or more candidate n-grams are obtained from one or more of:
recognition of a correction portion of the second voice query;
generated hypotheses of the correction portion of the second voice query;
a misrecognition index of phonetically similar n-grams; or
n-grams associated with a type or category associated with the correction portion of the second voice query.
4. The method of claim 1 , wherein each candidate corrected query is scored based at least in part on a phonetic distance between the candidate correction and the first voice input.
5. The method of claim 1 , wherein each candidate corrected query is scored based at least in part on a query popularity of the candidate correction.
6. The method of claim 5 , wherein the query popularity is based on query counts in a query log that match the candidate correction.
7. The method of claim 5 , wherein the query popularity is based at least on a change in query popularity between the first voice query and the candidate correction.
8. One or more non-transitory computer-readable storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:
receiving a first voice query;
generating a first recognition output;
receiving a second voice query;
determining from a recognition of the second voice query that the second voice query triggers a correction request, wherein determining that the recognition of the second voice query triggers the correction request includes parsing the second voice query to detect a correction prefix;
using the first recognition output and the second recognition to determine a plurality of candidate corrections;
scoring each candidate correction; and
generating a corrected recognition output for a particular candidate correction having a score that satisfies a threshold value.
9. A system comprising:
a user device; and
one or more computers configured to interact with the user device and to perform operations comprising:
receiving a first voice query from the user device;
generating a first recognition output;
receiving a second voice query from the user device;
determining from a recognition of the second voice query that the second voice query triggers a correction request, wherein determining that the recognition of the second voice query triggers the correction request includes parsing the second voice query to detect a correction prefix;
using the first recognition output and the second recognition to determine a plurality of candidate corrections;
scoring each candidate correction; and
generating a corrected recognition output for a particular candidate correction having a score that satisfies a threshold value.
10. The system of claim 9 , wherein using the first recognition output and the second recognition to determine a plurality of candidate corrected queries comprises:
determining a misrecognition portion of the first recognition output; and
substituting the misrecognition portion with one or more candidate n-grams to form a candidate correction.
11. The system of claim 10 , wherein the one or more candidate n-grams are obtained from one or more of:
recognition of a correction portion of the second voice query;
generated hypotheses of the correction portion of the second voice query;
a misrecognition index of phonetically similar n-grams; or
n-grams associated with a type or category associated with the correction portion of the second voice query.
12. The system of claim 9 , wherein each candidate corrected query is scored based at least in part on a phonetic distance between the candidate correction and the first voice input.
13. The system of claim 9 , wherein each candidate corrected query is scored based at least in part on a query popularity of the candidate correction.
14. The system of claim 13 , wherein the query popularity is based on query counts in a query log that match the candidate correction.
15. The system of claim 13 , wherein the query popularity is based at least on a change in query popularity between the first voice query and the candidate correction.